What started as a simple Settings Menu became a full UE5 C++ Framework

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 ]