darkharasho-UpgradeLimiter icon

UpgradeLimiter

Caps how many of each player upgrade can be stacked. Configurable per upgrade.

Last updated 5 hours ago
Total downloads 90
Total rating 0 
Categories Upgrades Client-side Server-side AI Generated
Dependency string darkharasho-UpgradeLimiter-0.4.2
Dependants 0 other packages depend on this package

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2100 icon
BepInEx-BepInExPack

BepInEx pack for Mono Unity games. Preconfigured and ready to use.

Preferred version: 5.4.2100

README

UpgradeLimiter

A R.E.P.O. mod that caps how many of each player upgrade can be stacked. Each upgrade has its own enable toggle and max-stacks value.

When a player tries to consume an upgrade past the cap, the upgrade crystal is consumed normally but the stat does not increase. Decrements and resets pass through unchanged.

Features

  • Per-upgrade Enabled toggle and MaxStacks value (0–99)
  • Covers all 13 base-game player upgrades (Health, Energy, ExtraJump, TumbleLaunch, TumbleClimb, TumbleWings, SprintSpeed, CrouchRest, GrabStrength, ThrowStrength, GrabRange, DeathHeadBattery, MapPlayerCount)
  • Modded UpgradePlayer* methods are auto-discovered via IL scanning and added to the config
  • Host-to-client sync via Photon room properties — only the host needs to configure caps
  • Live config reload: changing limits mid-run takes effect on the next pickup, no level reload needed
  • Compatible with REPOConfig — adjust settings in-game

Configuration

Config file: BepInEx/config/darkharasho.UpgradeLimiter.cfg

Each upgrade gets its own section:

[Health]
Enabled = false
MaxStacks = 5

[SprintSpeed]
Enabled = true
MaxStacks = 2
Key Default Range Description
Enabled false When true, the upgrade is capped. When false, it behaves vanilla.
MaxStacks 5 0–99 Maximum stacks of this upgrade per player. 0 blocks every pickup (effectively disables the upgrade).

Plus a sync section:

[Sync]
SyncToClients = true

When SyncToClients = true, the host pushes its caps to every client via Photon room properties and clients ignore their own local caps while in the room. When false, each client uses its own local config.

Multiplayer

The cap is enforced on the host's authoritative state, so toggling caps on a client without host sync will not actually limit the upgrade — only the host's settings matter for enforcement.

Dependencies

Installation

Install via Thunderstore Mod Manager / r2modman, or manually place UpgradeLimiter.dll in BepInEx/plugins/UpgradeLimiter/.

Building

GAME_DIR="/path/to/REPO" ./package.sh

Builds the DLL and produces a Thunderstore-ready zip. Install the zip via r2modman.