You are viewing a potentially older version of this package. View all versions.
KirbyTeam-ModSettings-0.2.0 icon

ModSettings

Change your mods' settings in game. A Mods button on the main and pause menus lists every BepInEx config, with key pickers and key clash warnings.

Date uploaded 5 days ago
Version 0.2.0
Download link KirbyTeam-ModSettings-0.2.0.zip
Downloads 37
Dependency string KirbyTeam-ModSettings-0.2.0

This mod requires the following mods to function

BepInEx-BepInExPack_IL2CPP-6.0.755 icon
BepInEx-BepInExPack_IL2CPP

BepInEx pack for IL2CPP x64 Unity games. Preconfigured and ready to use.

Preferred version: 6.0.755

README

ModSettings

A Waterpark Simulator mod for changing your other mods' settings without leaving the game.

Formerly published as ModManager; versions before 0.2.0 went by that name.

BepInEx mods keep their settings in .cfg files under BepInEx/config. ModSettings adds a Mods button to the main menu and the pause menu (F10 also opens it anywhere) that lists every one of those files and lets you edit them.

  • Every mod with a config file is listed, loaded or not, plus BepInEx's own BepInEx.cfg.
  • Each setting gets a control that fits it: a toggle for on/off, arrows for a fixed list, a slider for a number with a range, a text field for anything else, and a press-a-key picker for keys.
  • The description, default value and range BepInEx wrote for each setting are shown under it.
  • A setting that shares its key with another mod, or with one of the game's own controls (including your rebinds), gets a warning naming what else uses that key.
  • Input that the setting cannot hold is refused with the reason, and nothing is saved.

How changes apply

  • Settings of mods that are running are changed through the mod itself, so a mod that watches its settings picks the change up at once. Many mods only read their settings when the game starts; those need a restart.
  • Settings in files no running mod owns, and everything in BepInEx.cfg, are marked "applies next launch". The value is written into the file, and comments, order and other values are left as they were.

Status

Early. The file handling, input checks and key clash rules are covered by tests. The panel, the menu buttons and the key picker have been used in the game with mouse and keyboard; the key clash warnings have had less use. Controllers are untested.

Things to know:

  • Only files BepInEx writes can be read properly. A mod that keeps its settings some other way is not listed.
  • A mod that creates extra config files of its own may write its old values back to those files when it saves.
  • Hidden, read-only, ordered and renamed settings follow the ConfigurationManager tags a mod sets.

Install

With r2modman: select Waterpark Simulator, install BepInExPack_IL2CPP, then install ModSettings.

By hand: install BepInEx 6 (IL2CPP) for the game, then copy ModSettings.Plugin.dll and ModSettings.Core.dll into BepInEx/plugins/ModSettings/.

Settings

BepInEx/config/com.github.kirby1997.modsettings.cfg, also editable in the panel itself:

Setting Default Meaning
Hotkey F10 Opens and closes the panel anywhere in the game. None turns it off

Building

Requirements: the .NET SDK 8 or newer, the game, and BepInExPack_IL2CPP installed through r2modman. Start the game once with BepInEx installed so it generates BepInEx/interop.

dotnet test
dotnet build -c Release

The build copies the plugin into the r2modman Default profile. To use another location, create GamePaths.user.props next to GamePaths.props:

<Project>
  <PropertyGroup>
    <ProfileDir>D:\path\to\profile</ProfileDir>
  </PropertyGroup>
</Project>

To build the Thunderstore package into dist/:

dotnet build src/ModSettings.Plugin -c Release -t:PackThunderstore

Layout

  • src/ModSettings.Core has no game references: reading and writing .cfg files, checking input, choosing controls, key names and key clashes. This is where the tests point.
  • src/ModSettings.Plugin is the BepInEx plugin: it finds config files and running mods, adds the menu buttons and draws the panel.
  • tests/ModSettings.Tests are the xUnit tests for Core.

License

MIT. Not affiliated with the developers of Waterpark Simulator.

CHANGELOG

Changelog

0.2.0

  • Renamed from ModManager to ModSettings, because "mod manager" usually means a tool like r2modman. It is a new Thunderstore package: remove ModManager when you install this.
  • The hotkey setting moved to BepInEx/config/com.github.kirby1997.modsettings.cfg. If you changed it from F10, set it again; the old com.github.kirby1997.modmanager.cfg can be deleted.

0.1.1

  • Fixed: with ModManager installed, saves never left the loading screen. One of its menu hooks broke a part of the game that loading relies on; that hook is gone.
  • The hotkey (F10) now pauses the game during play: it opens the pause menu, then the mod settings on top, so the camera no longer follows the mouse. Pressing it again returns to play; Esc leaves you on the pause menu.

0.1.0

  • First release. A Mods button on the main menu and the pause menu, and F10 anywhere, open a list of every config file in BepInEx/config with its settings.
  • Toggles for on/off settings, arrows for lists, sliders for numbers with a range, text fields for the rest, and a press-a-key picker for key settings.
  • A warning under any key setting that shares its key with another mod or one of the game's controls.
  • Changes to loaded mods apply at once; other files, and BepInEx's own settings, are saved for the next launch.