GS_Options
Categories:
GS_Options is where a project’s configuration lives. It covers two related things:
- Settings — the player-facing options a game exposes: graphics, audio, display, accessibility. Declared as data, applied to the engine, persisted between sessions.
- Input — how input reaches gameplay: binding profiles, the readers that consume them, and the reactors that turn input into behaviour.
Both are owned by the Options Manager, which is why they share a home.
For usage guides and setup examples, see The Basics: GS_Core.
Contents
Settings
A project declares its options in profile assets. Each option carries a widget kind — toggle, slider, dropdown, colour — and an apply target describing what it does to the engine. The manager merges the profiles into a live value map, applies values, persists them, and restores them next launch.
The part worth knowing early: settings reach the engine by two paths. Anything expressible as a console command is written out and executed at boot, before the window is created, so the game opens at the right resolution rather than switching to it. Everything else applies at runtime.
| Page | Covers |
|---|---|
| Settings | Profiles, the four option types, apply targets, presets, persistence and the launch path. |
| Display & Window Modes | What the window targets do, and the platform limits. |
Input
Input binding is data. An Input Profile defines groups, event mappings and key bindings, replacing raw engine binding files with something that can be rebound at runtime and toggled per group. Input Readers consume the active profile and fire gameplay events; Input Reactors turn those events into behaviour.
| Page | Covers |
|---|---|
| Input Options | Readers, profiles and the input pipeline. |
| Input Profiles | The profile asset — groups, events and bindings. |
| Input Reactors | Turning named input events into gameplay, and writing your own reaction types. |
Components
| Component | Purpose | Documentation |
|---|---|---|
| GS_OptionsManagerComponent | Singleton manager. Merges option profiles, applies and persists values, and holds the active Input Profile. | Options Manager |
| GS_InputProfile | Data asset defining input groups, event mappings and key bindings. | Input Profiles |
| GS_InputReaderComponent | Reads input through the active profile and fires gameplay events. | Input Options |
Quick Start
- Create an Options Manager prefab with the GS_OptionsManagerComponent.
- Create an option profile asset and add the options your game exposes, giving each one an apply target.
- Create a GS_InputProfile asset with your input groups and event mappings.
- Assign both to the Options Manager.
- Add the Options Manager
.spawnableto the Game Manager’s Startup Managers list. - Attach Input Readers to entities that process input.
The fastest way to check an option works end to end is the ImGui debug menu — it renders the whole catalog live and writes through the same bus your menus will use.
See Also
For conceptual overviews and usage guides:
For component references:
For related resources:
Get GS_Core
GS_Core — Explore this gem on the product page and add it to your project.