BepInEx ConfigDrawers
In-game configuration manager for BepInEx plugins with docking drawers, rich data tables, and syntax-highlighted config file editing.
About this mod Author’s original text
BepInEx.ConfigDrawers
In-game configuration manager for BepInEx 5 plugins.
Overview
BepInEx.ConfigDrawers is an in-game configuration manager for BepInEx 5 plugins built on Unity uGUI. It provides a collapsible drawer interface that docks to either side of your screen or floats as a moveable window, allowing you to edit plugin configurations in real time without obscuring gameplay.
Features
- Docking & Floating Window: Dock to the left or right screen rail, or detach into a free-floating draggable window with adjustable width.
- Search & Filtering: Real-time search filter across plugin names, sections, setting keys, and descriptions.
- Native Setting Drawers: Built-in drawer editors for primitives (bool, int, float, string, enum), vectors (Vector2, Vector3, Vector4), and key shortcuts.
- Multiline Text Editor: Auto-expanding editor for long strings, tokenized format strings, and JSON configurations.
- Color Spectrum Picker: HSV color wheel with hex/RGB inputs and palette swatch presets.
- Data Grids & Tables: Multi-column table views for complex structured settings like recipes and drop lists.
- UI Scaling: Configurable scale presets (Small, Normal, Large) for different screen resolutions.
- Hotkey Rebinding: Click the hotkey button in the header and press any key to rebind the menu toggle shortcut in-game.
- ServerSync Integration: Automatically identifies server-enforced configurations and displays synchronization status indicators.
- Legacy IMGUI Compatibility: Automatically suppresses conflicting legacy ConfigurationManager.dll hotkeys while continuing to render legacy custom drawer delegates inside the modern drawer.
- Config File Browser & Editor: Browse raw configuration files in BepInEx/config/ and edit them directly in-game using a full-screen code editor with real-time syntax highlighting, line numbers, two-line metrics gutter, and live JSON/YAML validation.
- Custom uGUI & IMGUI Drawers: Native procedural builder API (CustomUguiDrawer) for mod configuration interfaces with legacy IMGUI fallback. See the Custom Drawers Guide.
Controls & Keybinds
| Action | Default Input | Description |
|:--- |:--- |:--- |
| Toggle Drawer | F1 | Opens or closes the configuration drawer. |
| Close / Cancel | Escape | Closes the drawer or cancels the active input field edit. |
| Commit Edit | Enter / Defocus | Commits the input change and saves the configuration. |
| Dock Left / Right | [ Left ] / [ Right ] | Snaps the drawer to the left or right monitor rail. |
| Float Window | [ Float ] | Detaches the drawer into a free-floating window. |
| Resize Width | Drag Rail Handle | Drag the inner border handle to adjust the drawer width. |
| Cycle UI Scale | [ Size: Norm ] | Cycles between Small (85%), Normal (95%), and Large (108%) UI scaling. |
| Rebind Toggle Key | Click Hotkey Button | Click the hotkey button in the header, then press the desired keyboard key. |
Configuration Settings
Settings are stored in BepInEx/config/vapok.bepinex.configdrawers.cfg:
| Section | Key | Default | Description |
|:--- |:--- |:--- |:--- |
| General | Toggle Keybind | F1 | Keyboard shortcut to open and close the drawer. |
| Interface | Default Dock Position | Left | Default screen rail where ConfigDrawer docks (Left, Right, or Float). |
| Interface | Drawer Width | 480 | Width of the drawer in pixels when docked (360–720). |
| Interface | UI Scale | 1.0 | Overall UI scale factor (0.75–1.75). |
| Interface | Font Size | Normal | Font and layout scale (Small, Normal, or Large). |
| Interface | Window Opacity | 1.0 | Overall opacity of the drawer window (0.2–1.0). |
| Interface | Hide Advanced Settings | true | Hide advanced settings by default until toggled. |
| Compatibility | Auto Suppress Legacy Manager | true | Automatically disable hotkeys of older ConfigurationManager versions to prevent duplicate windows. |
Installation
Mod Manager (Recommended)
- Install BepInEx.ConfigDrawers via r2modman or Mod Manager.
- L
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. In multiplayer, the host and every client need the same mods installed.
Install these first, or the mod will not work: