ModsMenu

v0.3.2·Updated 2026-10-07

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

  1. Unzip the archive from playbuff and read the bundled readme / instructions first.
  2. 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.
  3. For a manual install, put the mod files into the matching Mod / plugins folder inside the game directory.
  4. 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.

Dependencies

Install these first, or the mod will not work:

BepInEx-BepInExPackStolenRealmModding-StolenRealmModAPI

File & checksum

Filename
ModsMenu-0.3.2.zip
File size
22.0 KiB