



A BepInEx mod for R.E.P.O. that adds a haul-based leveling system with spendable stat points.
Earn stat points by accumulating haul across all your sessions. Spend points on any of the 13 character stats to permanently power up your character — even during an active save.
Unlike other leveling mods that only count haul when you die, Improve captures your haul after every level. This means:
This lets you level up during a save, not just after dying.
Haul to reach level N: baseCost × difficulty × N²
Your level is the highest N whose threshold your lifetime haul has reached — i.e. level = floor(sqrt(lifetimeHaul / (baseCost × difficulty))). Each level is a single threshold, not a running total: reaching level 4 needs the level-4 haul, not the sum of levels 1–4.
| Level | Hardest (×1.0) | Hard (×0.75) | Standard (×0.5) | Easy (×0.25) |
|---|---|---|---|---|
| 1 | 1,000,000 | 750,000 | 500,000 | 250,000 |
| 2 | 4,000,000 | 3,000,000 | 2,000,000 | 1,000,000 |
| 3 | 9,000,000 | 6,750,000 | 4,500,000 | 2,250,000 |
| 4 | 16,000,000 | 12,000,000 | 8,000,000 | 4,000,000 |
| 5 | 25,000,000 | 18,750,000 | 12,500,000 | 6,250,000 |
Each level awards 1 stat point to spend on any stat you want.
| Difficulty | Multiplier | Description |
|---|---|---|
| Easy | 0.25 | Quick progression — great for casual play |
| Standard | 0.5 | Balanced (default) |
| Hard | 0.75 | Slower grind |
| Hardest | 1.0 | Full cost — for dedicated players |
Changing difficulty mid-game? The mod recalculates your level instantly. If you increase difficulty and end up with more spent points than your new level allows, the menu will warn you and lock further spending until you earn more haul or reset your stats.
Open the Improve menu (available in main menu, escape menu, and lobby) to see two panels:
Before and after spending points — five allocated into Tumble Launch drops Available Points from 5 to 0.
Left panel — Progress:
Right panel — Skills:
| Button | What it does | Keep haul? | Keep level? |
|---|---|---|---|
| Reset Stats | Reclaim all spent points | ✅ Yes | ✅ Yes |
| Reset All | Wipe everything | ❌ No | ❌ No |
Stats are applied a few frames after you spawn into any scene — levels, the truck and the shop alike — then continuously re-enforced by a watchdog (and again after each network sync) so they survive host/mod overwrites. This means:
Your allocations take effect in-game: the game's own Upgrades panel shows the five Tumble Launch points, and (with the UI mod) the overlay shows your Improve level.
Your bonus never gets baked into the save file. Improve writes its bonus into your live stats at runtime, but strips it out the instant the game saves and restores it right after — so the
.es3save only ever stores legitimately purchased upgrades. This means the bonus can't stack on itself across save / quit / relaunch, and uninstalling Improve leaves no inflated stats behind.
Settings are in BepInEx/config/headclef.Improve.cfg or in the in-game mod config menu:
| Key | Default | Range | Description |
|---|---|---|---|
| Difficulty Multiplier | 0.5 |
0.1–2.0 | Cost multiplier for leveling |
| Base Cost | 1,000,000 |
100k–10M | Base cost for the first level |
Save data is stored separately at:
%AppData%/../LocalLow/semiwork/Repo/REPOModData/Improve/save.cfg
Improve.dll into your BepInEx/plugins folder.Playing as a client (not the host): R.E.P.O. simulates some stats on the host's machine, so they split into two groups:
| Stats | Work when you are a client? |
|---|---|
| Health, Sprint Speed, Stamina, Extra Jump, Grab Range, Tumble Climb, Crouch Rest, Map Player Count, Death Head Battery | ✅ Always — these are read on your own machine |
| Grab Strength, Tumble Launch, Throw, Tumble Wings | ✅ If the host also has Improve installed — your totals are carried over a small network bridge and applied to your character on the host's simulation. ❌ Silently inactive otherwise (the game computes grab/launch/throw physics on the host only, and its stat-writing RPCs are host-only by design) |
The bridge only ever speaks for the sending player (it mirrors the game's own owner-only RPC checks), never touches the host's dictionaries or save file, and needs no configuration — install Improve on both sides and it just works. As the host or in single player, everything works with no requirements.
PunManager.UpdateStat)├── Improve.cs # Plugin entry point & config
├── SaveData.cs # Persistent save data & level calculations
├── ImproveMenu.cs # MenuLib UI — progress & skill panels
├── NetworkBridge.cs # Co-op bridge for host-simulated stats
├── Patches/
│ └── ImprovePatch.cs # Haul capture & stat application hooks
└── README.md
dotnet build
This project is licensed under the MIT License — see the LICENSE file for details.
These mods (all) generated by using AI tools. If there's anything wrong use NexusMods to give a feedback, I use there more than ThunderStore.