Outward Config Manager
BepInEx's in-game configuration manager, customized for Outward.
About this mod Author’s original text
Outward version
This version of BepInEx.ConfigurationManager is for use with Outward. It was forked from version 16.1 and has all changes up to 16.3.
How to use:
- When in-game, press F5 to open the config manager.
- You can change the keybinding by editing the file BepInEx\config\io.mefino.configurationmanager.cfg
Release notes
17.2:
- Updated for Definitive Edition
17.1:
- Fixed an issue with some mods not showing their settings
17.0:
- Added support for "stray" Config Files which are not associated directly with a plugin
- Added event to listen for config files created after Chainloader process
- Removed BepInEx 4 legacy support (not relevant to Outward)
16.3.3:
- Pulled upstream changes from 16.2 and 16.3
How to use (manual installation)
- Install the Outward BepInEx Pack.
- Download latest release from the Releases tab above.
- Place the plugins/ConfigurationManager.dll file inside your BepInEx/plugins folder.
- Place the patchers/ConfigurationManager.Patcher.dll file inside your BepInEx/patchers/ folder.
- Start the game and press F5.
Original README
From the official repo.
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 F5). Hover over the setting names to see their descriptions, if any.
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.AddSetting("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.AddSetting("Hotkeys", "Show FPS counter", new KeyboardShortcut(KeyCode.U, KeyCode.LeftShift));
}
private void Update()
{
if (ShowCounter.Value.IsDown())
{
// Handle the key press
}
}
Overriding default Configuration Manager behavior
You can change how a setting is shown inside the configuration manager window by passing an instance of a special class as a tag of the setting. The special class code can be downloaded here. Simply download the.cs file and drag it into your project.
- You do not have to ref
Install & use Install: BepInEx plugin
- The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
- Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
- Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
- Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.
Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file.
Install these first, or the mod will not work: