SimPassiveLevelingOverhaul
Overhauls Erenshor's Sim level progression with passive XP over time.
| Last updated | 11 hours ago |
| Total downloads | 20 |
| Total rating | 1 |
| Categories | Mods |
| Dependency string | TeamSaltyBois-SimPassiveLevelingOverhaul-1.1.0 |
| Dependants | 0 other packages depend on this package |
This mod requires the following mods to function
BepInEx-BepInExPack
BepInEx pack for Mono Unity games. Preconfigured and ready to use.
Preferred version: 5.4.2305README
Sim Passive Leveling Overhaul — v1.1
Erenshor game update (2026-07-15): Confirmed working with the guild/UI patch. Mod updated to 1.1, see changelog for details.
Description
This mod replaces the vanilla sim XP catchup system with a highly configurable passive XP drip that runs in the background while you play, and only while you play. No offline catch-up. This mod was made as I found the vanilla catchup system for simulated players (levels mostly granted in abrupt bursts each time you log in, depending on sims assigned slot) a bit too immersion breaking with my style of play (frequent logging out, able to play a couple times a week).
Many values are exposed and configurable to tweak the leveling to your liking. Mod can be added or deleted mid playthrough with no issues.
Recommended to pair with my companion mod, Sim Start At Level 1, if you are starting fresh and want a bit more of a "day 1" mmo experience.
Features
Passive XP for All Eligible Sims
- Unassigned generic sims gain XP on the standard curve.
- Rival sims level roughly 20% faster.
- Your own character-slot sims gain XP on the standard curve up to a cap of two levels above you, with a configurable catch-up multiplier when behind.
- Active party members and Sims tied to other character slots do not receive passive XP. They gain levels through combat or when you play those characters.
1–35 Leveling Curve (~110 Hours Total)
- Levels 1–5: 12–18 minutes per level
- Levels 6–10: 30 minutes to 1 hour 18 minutes per level
- Levels 11–15: 1 hour to 1 hour 36 minutes per level
- Levels 16–20: 1 hour 48 minutes to 3 hours 30 minutes per level
- Levels 21–25: 3 hours 48 minutes to 5 hours per level
- Levels 26–30: 5 hours 12 minutes to 6 hours 30 minutes per level
- Levels 31–35: 6 hours 12 minutes to 7 hours 30 minutes per level
Per-Sim Variance (Configurable, default 0.5× – 1.5×)
XP modifier from random seed, which re-rolls on zone changes. Produces organic variation across the roster.
Configuration
All settings are stored in BepInEx/config/erenshor.simxpovertime.cfg. Edit this file while the game is closed to adjust behavior.
-
TickIntervalSeconds— Default:120
Interval in seconds between XP grants. XP granted is scaled accordingly, so leveling speed will not change, only how often the XP is granted. Lower values will equate to slightly more CPU usage. -
MaxLevel— Default:35
Maximum level cap for Sims. Sims will not gain passive XP beyond this level. -
VarianceMin— Default:0.5
Minimum per-Sim speed variance. A value of0.5means the slowest Sim levels at half speed. -
VarianceMax— Default:1.5
Maximum per-Sim speed variance. A value of1.5means the fastest Sim levels at 1.5× speed. -
UseFixedSeed— Default:false
If enabled, uses a fixed seed for per-sim variance. All sims will level at the same pace every session instead of randomizing each login. -
FixedSeedValue— Default:12345
The seed value used whenUseFixedSeedis enabled. -
SeedIncrementOnZoneChange— Default:true
If enabled, re-rolls per-sim variance when you change zones. Set tofalsefor stable variance throughout an entire session. -
RivalSpeedMultiplier— Default:1.25
XP speed multiplier for rival Sims (Friends' Club). Set to1.0for no bonus. -
SlotCatchupPerLevel— Default:0.10
Catch-up boost applied per level behind. For example, if a Sim is 5 levels behind, they receive a0.5(50%) boost. -
SlotCatchupMax— Default:3.0
Upper limit for the catch-up multiplier. Prevents extreme catch-up boosts. -
SlotLevelCapOffset— Default:2
How many levels above the player a character tied sim can passively reach. Set to 35 to effectively disable this cap. -
DebugLogging— Default:false
Enables verbose logging for troubleshooting.
Requirements
- BepInEx 5.4.23.5
Installation
- Install BepInEx for Erenshor.
- Place
SimXPOverTime.dllin yourBepInEx/plugins/folder. - Launch the game. The configuration file generates in
BepInEx/config/automatically on the first run .
Compatibility
The mod is compatible with any other mod that doesn't also try to transpile SimPlayerMngr.Update or prefix SimPlayerCatchupCode.
Methods Patched
-
SimPlayerMngr.Update— Transpiler
Injects timer logic and redirectsTimeInZonewrites to our XP processor. -
SimPlayerMngr.LoadSimPlayersIntoGame— Prefix
Takes a snapshot of all sim levels before loading begins. -
SimPlayer.SaveSim— Prefix
Syncs cache with the sim's current XP before the game saves. -
SimPlayerMngr.CollectActiveSimData— Prefix
Syncs all active sim XP to cache and increments zone seed on zone change. -
SimPlayerDataManager.SaveAllSimData— Prefix
Syncs all sim XP to cache before full save (logout/shutdown). -
SimPlayerMngr.SimPlayerCatchupCode— Prefix (skips original)
Blocks the vanilla catchup mechanic entirely.
Performance
The mod is lightweight and has minimal CPU overhead. It performs a static boolean check every frame. On the single frame where XP is granted, it executes roughly 0.15ms of work.
The primary performance consideration is the save queue drain on zone changes, where ~168(default) save files are written sequentially, capped at 1 per frame. Players with slower mechanical hard drives (e.g., 5200 RPM) may experience a slight stutter in the first couple seconds after a zone change.
Notes
- This passive XP stops at level 35 by default. Reccommended to keep this, so it does not cause sims to become cracked gamer gods by getting too many ascension levels.
To-DO
- Expose direct leveling curve (1-35) for indiviual tweaking
- Scrubby specific multiplier of .2 to simulate his true leveling speed.