


A lightweight BepInEx library mod for R.E.P.O. that reads and caches all player character stats. Designed as a shared dependency for other mods that need access to upgrade levels.
StatsManagerThis mod does nothing on its own. It exists so that other mods (like Increase Tumble Damage) can reliably access player stat data without conflicting with each other.
Other mods can reference Character Stats.dll and call these static methods:
using static Character_Stats.Character_Stats;
// Get a specific upgrade level for a player (returns 0 if unknown)
int launchLevel = GetUpgradeLevel(steamId, "Launch");
// Get all upgrades for a player (returns a copy; empty dict if unknown)
Dictionary<string, int> upgrades = GetAllUpgrades(steamId);
// Check if stats have been read at least once this level
if (AreStatsReady) { ... }
// Get all tracked player Steam IDs
foreach (var id in GetTrackedPlayers()) { ... }
// Get local player's Steam ID (null if unavailable)
string? myId = GetLocalSteamId();
Health, Speed, Map Player Count, Stamina, Extra Jump, Range, Strength, Throw, Launch, Crouch Rest, Tumble Wings, Tumble Climb, Death Head Battery
Stats are read at these points:
ReceiveSyncData — re-reads when network sync overwrites data (e.g., when another mod shares upgrades)Values are read directly from the game's live StatsManager dictionaries, so they always match what the game (and stat-applying mods like Improve) actually use.
Character Stats is usually installed automatically as a dependency when you install a mod that needs it (via Thunderstore). To install it manually:
Character Stats.dll into your BepInEx/plugins folder.To use Character Stats as a dependency in your mod:
Character Stats.dll in your .csproj (compile-only, not bundled):<Reference Include="Character Stats">
<HintPath>path\to\Character Stats.dll</HintPath>
<Private>false</Private>
</Reference>
[BepInDependency("headclef.CharacterStats", BepInDependency.DependencyFlags.HardDependency)]
manifest.json:"dependencies": ["headclef-CharacterStats-1.1.0"]
├── Character Stats.cs # Plugin entry point & public API
├── Patches/
│ └── StatReaderPatch.cs # Harmony hooks for reading stats
└── README.md
This project is the base library the other mods compile against. It has no dependencies of its own, but building the whole solution keeps every dependent mod in sync:
dotnet build ../Repo.slnx
This project is licensed under the MIT License — see the LICENSE file for details.