BepInEx Configuration Manager
Mod to assist with configuration of BepInEx mods
Screenshots 1 screenshots
About this mod Author’s original text
- Warning: At least BepInEx v5.4.20 is required as of v17.1!
The mod was created and hosted by the BepInEx team
I do not own the code, all credits go to the BepInEx team. I just uploaded it for ease of access to the latest version.
Check the mod out:
Plugin / mod configuration manager for BepInEx 5
An easy way to let user configure how a plugin behaves without the need to make your own GUI. The user can change any of the settings you expose, even keyboard shortcuts.
The configuration manager can be accessed in-game by pressing the hotkey (by default F1). Hover over the setting names to see their descriptions, if any.
How to use
There are two versions of this plugin, for BepInEx 5 (version 5.4.20 or newer, mono only) and BepInEx 6 (nightly build 664 or newer, IL2CPP only).
- Install and configure the correct BepInEx version for your game (see above).
- Download latest release for your BepInEx from the Releases.
- Extract the plugin directly into your game directory, where the BepInEx folder is (the.dll should end up inside your BepInEx\Plugins folder).
- Start the game and press F1.
Note: The.xml file include in the release zip is useful for plugin developers when referencing ConfigurationManager.dll in your plugin, it will provide descriptions for types and methods to your IDE. Users can ignore it.
Known issues
- If no text is visible anywhere in RUE windows, most likely the Arial.ttf font is missing from the system (Unity UI default font, may be different in some games). This can happen when running a game on Linux with misconfigured wine.
- The IL2CPP version currently only works in some games that have unstripped UnityEngine.IMGUIModule.dll (support for some of the games can be added with a patcher that restores missing members, example).
For Developers
Expand Me
How to make my mod compatible?
ConfigurationManager will automatically display all settings from your plugin's Config. All metadata (e.g. description, value range) will be used by ConfigurationManager to display the settings to the user.
In most cases you don't have to reference ConfigurationManager.dll or do anything special with your settings. Simply make sure to add as much metadata as possible (doing so will help all users, even if they use the config files directly). Always add descriptive section and key names, descriptions, and acceptable value lists or ranges (wherever applicable).
How to make my setting into a slider?
Specify AcceptableValueRange when creating your setting. If the range is 0f - 1f or 0 - 100 the slider will be shown as % (this can be overridden below).
CaptureWidth = Config.Bind("Section", "Key", 1, new ConfigDescription("Description", new AcceptableValueRange(0, 100)));
How to make my setting into a drop-down list?
Specify AcceptableValueList when creating your setting. If you use an enum you don't need to specify AcceptableValueList, all of the enum values will be shown. If you want to hide some values, you will have to use the attribute.
Note: You can add System.ComponentModel.DescriptionAttribute to your enum's items to override their displayed names. For example:
public enum MyEnum
{
// Entry1 will be shown in the combo box as Entry1
Entry1,
[Description("Entry2 will be shown in the combo box as this string")]
Entry2
}
How to allow user to change my keyboard shorcuts / How to easily check for key presses?
Add a setting of type KeyboardShortcut. Use the value of this setting to check for inputs (recommend using IsDown) inside of your Update method.
The KeyboardShortcut class supports modifier keys - Shift, Control and Alt. They are properly handled, preventing common problems like K+Shift+Control triggering K+Shift when it shouldn't have.
private ConfigEntry ShowCounter { get; set; }
public Constructor()
{
ShowCounter = Config.Bind("Hotkeys", "Show FPS counter", new KeyboardShortcut(KeyCode.U, KeyCode.LeftShift));
}
private void Update(
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.