ModsMenu
Adds a Mods tab to Options with the settings of your installed mods: toggles, sliders, dropdowns and text fields built from each mod's config, in the game's own style. A library: mods opt in with one
About this mod Author’s original text
Mods Menu
Adds a Mods tab to Stolen Realm's Options window (Esc → Options, after Twitch) with the settings of your
installed mods.
- Each mod gets a card with its name and version. Click the card to open it.
- Settings use clones of the game's own Options controls: toggles, sliders, dropdowns and text fields.
- Changes save to the mod's config file right away, and mods that support it react without a restart.
Mods Menu is a library. On its own it only shows its own card. Mods that support it appear automatically, and
Show All Plugins also lists any other BepInEx mod that has settings.
Settings
| Setting | Default | |
|---|---|---|
| Show All Plugins | off | Also list installed mods that didn't opt in but have settings |
| Log UI Layout | off | Write the Options window's layout to the BepInEx log once per launch (for mod developers) |
The file is BepInEx\config\com.helvetica.modsmenu.cfg.
For mod developers
No code. Add a soft dependency to your plugin class. Your mod still loads when Mods Menu isn't installed:
[BepInDependency("com.helvetica.modsmenu", BepInDependency.DependencyFlags.SoftDependency)]
Every Config.Bind entry then appears on your mod's card, grouped by config section:
| Setting type | Control |
|---|---|
| bool | toggle |
| enum | dropdown |
| float/int with AcceptableValueRange | slider + value |
| any type with AcceptableValueList | dropdown |
| other simple types (string, unbounded numbers…) | text field (invalid input reverts) |
Labels come from the key (ShowOwnName → "Show Own Name"). The description is a dim line under the control.
A change saves the.cfg at once and raises SettingChanged, so your mod can react live.
Order. Mods are listed A-Z, Mods Menu last. Inside a card, groups and settings follow the order of your
Config.Bind calls, not the.cfg file's (BepInEx sorts sections alphabetically in the file).
Custom controls. Reference ModsMenu.dll with Private="false" so it isn't copied next to your mod. Put the
calls in a separate class and only call it when Mods Menu is installed, so your mod still loads without it:
// OnModLoaded / Awake:
if (Chainloader.PluginInfos.ContainsKey("com.helvetica.modsmenu")) MenuCard.Register();
static class MenuCard
{
internal static void Register() => ModsMenuApi.AddSection(MyPlugin.Guid, ui =>
{
ui.AddButton("Reset colors", ResetColors, "Restore the default palette");
ui.AddLabel("Anything else goes here.");
});
}
SectionBuilder offers AddHeader, AddSubheader, AddLabel, AddToggle, AddSlider, AddDropdown,
AddInput, AddButton, AddConfigEntry and AddConfigFile. The callback runs each time your card opens, after
your config settings.
Install & use Install: follow the bundled instructions
- Unzip the archive from playbuff and read the bundled readme / instructions first.
- Most mods rely on the game's mod loader — the usual route is a community mod manager (such as r2modman): pick this game, install, and it handles the loader and dependencies.
- For a manual install, put the mod files into the matching Mod / plugins folder inside the game directory.
- Launch the game to confirm it loaded; mods with listed dependencies need those installed as well.
Install locations vary a lot between mods — the bundled readme is the most reliable guide.
Install these first, or the mod will not work: