Module boundaries
GGS settings are split into three modules that you can adopt as needed:
GenericSettingsSystemprovides the local-player settings subsystem, registry, setting nodes, accessors, provider lifecycle, and Apply, Cancel, and Reload flow.GenericSettingsSystemCommonprovides optional Video, Audio, Input, Accessibility, and Language providers.GenericSettingsSystemUIconnects the registry to CommonUI menus and widgets fromGenericUISystem. The core settings runtime does not depend on the UI module.
Runtime model
Each Local Player has its own UGSS_GameSettingsSubsystem and registry. Setting nodes can come from a Definition Data Asset or be registered by a runtime Provider. Pages and Collections organize navigation and values; accessors connect value nodes to project state through Local or Shared storage.
Apply commits nodes that are still pending and persists engine settings and Shared Settings. Cancel restores the tracked initial values. Reload reloads Shared Settings and refreshes registered values from their accessors. Dynamic nodes can write through an accessor immediately, so the project should decide which values are suitable for preview and which should wait for Apply.
Reading path
- Learn the registry, SettingId, accessors, providers, and Apply/Cancel lifecycle before choosing a Data Asset or C++/Blueprint Provider.
- Before enabling a Common provider, decide which preferences GGS stores and which values your project systems must apply.
- Add
GenericSettingsSystemUIseparately when you need a settings menu, then build widgets that fit your project's UI structure.
Continue with:
- Settings Model and Providers
- Built-in Providers and Project Configuration
- Settings Menu UI Integration