Skip to content
Back to wiki

Settings System

A

Author

Author

Created: Oct 19, 2026Updated: Oct 19, 2026

Table of contents

Module boundaries

GGS settings are split into three modules that you can adopt as needed:

  • GenericSettingsSystem provides the local-player settings subsystem, registry, setting nodes, accessors, provider lifecycle, and Apply, Cancel, and Reload flow.
  • GenericSettingsSystemCommon provides optional Video, Audio, Input, Accessibility, and Language providers.
  • GenericSettingsSystemUI connects the registry to CommonUI menus and widgets from GenericUISystem. 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.

Settings assets in the companion project

In the current GenericGame project, /Game/GenericGame/CommonSystem/SettingsCore/ contains Settings_Root, SettingsProvider_Video, SettingsProvider_Audio, SettingsProvider_Input, SettingsProvider_Accessibility, and SettingsProvider_Language. You can also find WB_GSS_GameSettingsMenu and WB_GSS_GameSettingsPanel under /Game/GenericGame/CommonSystem/UICore/UI/Settings/. The first group shows project configuration for definitions and providers; the second shows the optional settings UI adapter. These assets belong to project Content and are not copied into your project simply by enabling a settings module. See the Companion Project Content and Example Assets guide for full paths.

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 GenericSettingsSystemUI separately 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