Hi everyone,
I originally started building a simple settings menu for one of my projects.
As more requirements appeared, it gradually evolved into a complete settings framework built entirely in C++.
The system currently supports:
Graphics
-
Resolution Selection
-
Windowed / Borderless Modes
-
Scalability Presets
-
V-Sync
-
Frame Rate Limit
Audio
-
Master Volume
-
BGM Volume
-
SFX Volume
-
Voice Volume
-
Mute All
Input
-
Runtime Key Remapping
-
Real-Time Conflict Detection
-
Reset to Default
One feature I wanted from the beginning was a proper resolution recovery workflow.
When a player changes resolution, a confirmation dialog appears. If the player doesn’t confirm within 15 seconds, the previous resolution is restored automatically.
The framework is built around:
-
Pure C++
-
Enhanced Input
-
GameInstanceSubsystem
-
DataAsset-driven Configuration
-
Event-Driven Updates
-
SaveGame Persistence
A few screenshots are attached below.
I’m interested in hearing how other developers handle settings systems, especially key remapping and resolution recovery.
Feedback is welcome.
I recently published this on FAB if anyone wants to check it out. [ Advanced Settings & Input Remapping - C++ Native Plugin | Fab ]






