CustomSimFramework
Add custom sims, dialogue, zone chatter and guild conversations via JSON content packs - includes Pack Studio, a full GUI editor with live in-game previews.
| Last updated | an hour ago |
| Total downloads | 4 |
| Total rating | 0 |
| Categories | Mods |
| Dependency string | TeamSaltyBois-CustomSimFramework-0.9.7 |
| 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
Custom Sim Framework — v0.9.6
Note: This mod does not ship packstudio.exe, the GUI editor. Pack Studio is available in the releases on github, if you would like to add your own custom dialogue and sims I highly recommended it!
Description
This mod lets you add your own content to Erenshor's simulated players through content packs. A pack can add fully custom named sims with their own personalities and voices, new dialogue for every generated sim on the server, ambient chatter for each zone, and whole guild chat conversations.
I built it because the sims are the heart of Erenshor, and I wanted a way to put my friends in the world. Once the framework existed for that, it made sense to open up everything else the sims say too.
Everything is data driven. The bundled example pack (three custom sims, dialogue for every shared pool, chatter for all 29 zones, and 10 guild conversation topics) is installed automatically on first launch, and doubles as a working reference for making your own.
Works alongside my other mods, Sim Passive Leveling Overhaul and Sim Start At Level 1.
LEGAL DISCLAIMER: Retained counsel mandates we disclose that Example Paul is a legally distinct, 100% synthetic entity. Any resemblance to actual Pauls, living, dead, simulated, or currently AFK,is purely coincidental. Our legal team wishes to aggressively clarify that no real world Pauls were digitized, cloned, or observed during the creation of this mod. If your name is Paul, this entity is not you, does not legally represent you, and we assume no liability for its digital behavior.
Features
Custom Sims
- A named sim with a chosen class, level, appearance, personality, and typing quirks (ALL CAPS, lowercase, typos, emojis, third person, and more).
- Up to 30 personal dialogue lists per sim. Anything you skip is filled from the game's normal dialogue pools, so a sim with just a name works fine.
- They use the same pipeline as the game's own premade sims. They spawn, level, group with you, whisper you, join guilds, and remember your runs together.
- A sim can be tied to one of your character slots. It levels alongside that character and even greets your new characters in the tutorial.
- Rival sims join the antagonist guild and taunt you instead of befriending you.
Server Chatter
- Add lines to the pools every generated sim draws from. Greetings, group talk, guild questions, death laments, loot begging, and more.
- Teach sims new phrases to understand when you type them.
- Add new generated sim names and inspect window bios.
Zone Chatter
- Ambient shouts for each zone. Lines ending in a question mark can get yes or no answers from other sims nearby.
- Seven vanilla zones ship with no ambient chatter at all. Your lines become their entire voice.
Guild Topic Conversations
- Conversations that guild sims start and carry on their own, on the guild chat timer.
- Players can trigger them too, by saying the right keywords in guild chat.
- Topics support level gating (low level sims admit they don't know) and zone gating (asked elsewhere, sims point you to the right zone).
Pack Studio (the editor)
A windows app that pairs with the mod. No installs, no setup, and no JSON knowledge needed. Double click it and it finds your game on its own, whether that's a Steam install or a mod manager profile.
- Plain language editors for sims, server chatter, zone chatter, and guild topics.
- Live previews show every line exactly as it renders in game, with the sim's typing quirks applied. You can toggle quirks freely to experiment.
- Live error checking with over 100 rules. It catches broken names, misplaced lines, phrases the game would swallow, trigger collisions with vanilla topics, and more, as you type.
- One click Deploy to game, and a Check My Log page that shows exactly what the game loaded afterwards.
Where to get it: download PackStudio.exe from the releases page on GitHub. Put it anywhere you like and double click it. Windows may warn about an unknown publisher the first time, that's normal for small unsigned tools. Pick "More info" then "Run anyway".
Pack changes load the next time you start Erenshor.
Configuration
All settings are stored in BepInEx/config/erenshor.customsimframework.cfg. Edit this file while the game is closed to adjust behavior.
-
GuildChatFrequency— Default:1, range0.1–10
How often guild sims ask questions and start topic conversations. At 1 that's roughly every 2 to 4 minutes. Set 2 for twice as often, 0.5 for half. -
GuildQuestFrequency— Default:1, range0.1–10
How often guild sims post fetch quest asks ("anyone have a spare X?"). At 1 that's roughly every 5 to 27 minutes. -
VerboseLogging— Default:false
Detailed framework activity in the log. Useful when building a pack, noisy otherwise. -
DumpVanillaData— Default:false
Writes the game's dialogue data to a VanillaDump folder next to the mod. Only useful for pack authors who want vanilla reference material.
Requirements
- BepInEx 5.4.23.5
Installation
Mod manager: install normally. The example pack appears on its own in the config directory the first time you launch.
Manual:
- Install BepInEx for Erenshor.
- Create the folder
BepInEx\plugins\CustomSimFramework\. - Place
CustomSimFramework.dllin that folder. - Launch the game once. The config file and the example pack generate automatically.
Your packs live in BepInEx\config\CustomSimFramework\Packs. That folder sits with your config files, so mod updates never touch your own packs, and r2modman profile exports carry them along.
Compatibility
Eight small Harmony patches across five game methods. The framework adds content to the game's existing dialogue pools and rosters, it does not replace or rewrite game systems.
-
Other mods: A conflict is only possible if another mod patches one of the methods below and changes what it does. Mods that read sim data or touch other parts of the game will coexist fine. Tested alongside Sim Passive Leveling Overhaul and Sim Start At Level 1.
-
Game updates: If an update removes or renames a patched method, the mod fails to load and logs an error while the game keeps running vanilla.
-
Adding or removing mid playthrough: Safe. Custom sims degrade gracefully into ordinary generated sims when the mod is removed. Their saves keep working through the game's normal loading path.
-
Sim Passive Leveling Overhaul: Fully compatible. Custom sims level up passively just like everyone else, and a sim tied to one of your character slots follows that character under its leveling rules.
-
Sim Start At Level 1: Compatible with one thing to know. It forces every newly created sim to start at level 1, and that includes custom sims from packs. If you want a custom sim to keep the level its pack author gave it, add its name to that mod's
ExcludedSimssetting. Sims that already exist are never affected.
Methods Patched
-
SimPlayerMngr.Start— two Prefixes
The first (high priority) captures the optional vanilla data dump before anything is modified. The second registers custom sim templates into the game's premade sim list and appends pack dialogue to the shared pools, all before the game's own loading runs. -
SimPlayerTracking.SpawnMeInGame— Postfix
When a custom sim's body spawns, this re-applies the typing quirks the vanilla premade copy misses, plus the sim's personality settings. -
ZoneAnnounce.Start— two Prefixes
The first (high priority) captures the zone's vanilla chatter for the optional dump. The second appends pack zone chatter and retries any once-per-login work that wasn't possible earlier in the load. -
GuildManager.InitGuilds— Postfix
Adds pack guild topics after the game builds each guild's conversation list. -
GuildManager.AwakeandGuildManager.Update— Postfixes
Apply the guild chat and guild quest frequency settings by scaling the game's own timers. When both settings are 1, the Update patch is two number comparisons and nothing else.
Performance
Framework work happens at load boundaries, inside load screens you're already waiting on.
In the world, a custom sim is exactly one more sim in the roster. The cost only materializes when the game spawns them near you, the same as any vanilla sim.
Notes
- Pack lines join vanilla's rotation, they never replace it. A couple of lines per pool blends in nicely.
- The example pack fills the seven silent zones, which also fixes a vanilla quirk where sims in those zones occasionally shout "oops" at nobody.
- If you delete the example pack folder it will be reinstalled on the next launch. To customize it instead, just edit it. Your edited version is never overwritten.
- In a guild you found mid session, pack topics work right away but vanilla's own topics stay absent until the next game restart. That's a vanilla quirk, not the mod.
- Sims can only be whispered by the name they were created with, so pack sim names use letters, numbers, and hyphens only. Pack Studio enforces this for you.
To Do
- More example content over time.
- A trigger checker against the game's full item and NPC name database for Pack Studio.