Options Manager
The singleton options controller — holds the active Input Profile and provides runtime configuration data to game systems.
The Options system is the central pillar for handling background systemic configuration. At its simplest, it lets you set up user-facing options like volume, graphics settings, subtitles, and other standard configurable settings. Beyond that, it manages development-side functionality — language settings, current input device type, and other runtime-aware systems — providing that data to hook components throughout the game.
Currently, the Options system’s primary feature is the Input Profile system, which replaces O3DE’s raw input binding files with a more flexible, group-based approach that supports runtime rebinding and per-group enable/disable toggling.
GS_OptionsManagerComponent (singleton, spawned by Game Manager)
│
├── Holds the active GS_InputProfile data asset
│
├── GS_InputProfile (data asset, created in Asset Editor)
│ Contains InputBindingGroups
│ Each group contains EventInputMappings
│ Each mapping: eventName + bindings + deadzone + processUpdate
│
└── GS_InputReaderComponent (on any entity)
Reads input from the active profile
Fires events based on matched bindings
Can enable/disable input groups at runtime
| Component | Purpose | Documentation |
|---|---|---|
| GS_OptionsManagerComponent | Singleton manager. Holds the active Input Profile and provides it to Input Readers. | Options Manager |
| GS_InputProfile | Data asset defining input groups, event mappings, and key bindings. Created in the Asset Editor. | Input Profiles |
| GS_InputReaderComponent | Reads input through the active profile and fires gameplay events. Can be extended for specialized input handling. | Input Options |
.spawnable to the Game Manager’s Startup Managers list.The singleton options controller — holds the active Input Profile and provides runtime configuration data to game systems.
The input subsystem — Input Profiles for grouped event-to-binding mappings and Input Readers for processing input in gameplay.