ConfigurationManager
Used by bepinex 4 plugins
Bepinex 5 config
Used by bepinex 5 plugins
Return items with browsable attribute same as expectedBrowsable, and optionally items with no browsable attribute
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.
https://github.com/ManlyMarco/BepInEx.ConfigurationManager
GUID of this plugin
Version constant
Event fired every time the manager window is shown or hidden.
Disable the hotkey check used by config manager. If enabled you have to set to show the manager.
Is the config manager main window displayed on screen
Register a custom setting drawer for a given type. The action is ran in OnGui in a single setting slot.
Do not use any Begin / End layout methods, and avoid raising height from standard.
String currently entered into the search box
Instance of the object that holds this setting.
Null if setting is not in a ConfigWrapper.
Class representing all data about a setting collected by ConfigurationManager.
List of values this setting can take
Range of the values this setting can take
Should the setting be shown as a percentage (only applies to value range settings)
Custom setting draw action
Show this setting in the settings screen at all? If false, don't show.
Category the setting is under. Null to be directly under the plugin.
If set, a "Default" button will be shown next to the setting to allow resetting to default.
Force the "Reset" button to not be displayed, even if a valid DefaultValue is available.
Force the setting name to not be displayed. Should only be used with a to get more space.
Can be used together with to gain even more space.
Optional description shown when hovering over the setting
Name of the setting
Plugin this setting belongs to
Only allow showing of the value. False whenever possible by default.
Type of the variable
Instance of the plugin that owns this setting
Is this setting advanced
Order of the setting on the settings list relative to other settings in a category. 0 by default, lower is higher on the list.
Get the value of this setting
Set the value of this setting
Implementation of
Custom converter from setting type to string for the textbox
Custom converter from string to setting type for the textbox
Arguments representing a change in value
Newly assigned value
Specify the list of acceptable values for this variable. It will allow the configuration window to show a list of available values.
Specify the list of acceptable values for this variable. It will allow the configuration window to show a list of available values.
List of acceptable values for this setting
Specify a method that returns the list of acceptable values for this variable. It will allow the configuration window to show a list of available values.
Name of an instance method that takes no arguments and returns array object[] that contains the acceptable values
Specify the range of acceptable values for this variable. It will allow the configuration window to show a slider
and filter inputs.
Lowest acceptable value
Highest acceptable value
Show the current value as % between min and max values if possible. Otherwise show the
value itself.
Register a custom field editor drawer that will replace config manager's default field editors
(The part between setting name and the default button).
Name of the method that will draw the edit field.
The method needs to be an instance method with signature void Name ()
. Runs in OnGUI.
A keyboard shortcut that can be used in Update method to check if user presses a key combo.
Use SavedKeyboardShortcut to allow user to change this shortcut and have the changes saved.
How to use: Use IsDown instead of the Imput.GetKeyDown in the Update loop.
Create a new keyboard shortcut.
Main key to press
Keys that should be held down before main key is registered
Check if the main key was just pressed (Input.GetKeyDown), and specified modifier keys are all pressed
Check if the main key is currently held down (Input.GetKey), and specified modifier keys are all pressed
Check if the main key was just lifted (Input.GetKeyUp), and specified modifier keys are all pressed.
A keyboard shortcut that is saved in the config file and can be changed by the user if ConfigurationManager plugin
is present.
How to use: Run IsPressed in Update to check if user presses the button combo.
Check if the main key is currently held down (Input.GetKey), and specified modifier keys are all pressed
Check if the main key was just pressed (Input.GetKeyDown), and specified modifier keys are all pressed
Check if the main key was just lifted (Input.GetKeyUp), and specified modifier keys are all pressed.