跳转到正文

设置系统

作

作者

作者

创建时间: 2026年10月19日更新时间: 2026年10月19日

目录

模块边界

GGS 设置能力拆成三个模块,项目可以按需要接入:

  • GenericSettingsSystem 提供按本地玩家运行的设置子系统、注册表、设置节点、Accessor、Provider 生命周期,以及 Apply、Cancel、Reload 流程。
  • GenericSettingsSystemCommon 提供可选的 Video、Audio、Input、Accessibility 和 Language Provider。
  • GenericSettingsSystemUI 将设置注册表接入 GenericUISystem 的 CommonUI 菜单与控件。核心设置运行时不依赖 UI 模块。

运行方式

每个 Local Player 有自己的 UGSS_GameSettingsSubsystem 和 Registry。设置节点可以来自 Definition Data Asset,也可以由运行时 Provider 注册。树结构用 Page、Collection 组织导航和值节点;值通过 Local 或 Shared Accessor 连接到项目状态。

Apply 会提交仍处于待应用状态的节点,并持久化引擎设置与 Shared Settings;Cancel 会恢复追踪到的初始值;Reload 会重新加载 Shared Settings 并从 Accessor 刷新注册值。Dynamic 节点可即时写入 Accessor,因此项目应决定哪些值适合预览、哪些应等到 Apply。

按任务阅读

  • 先理解 Registry、SettingId、Accessor、Provider 和 Apply/Cancel 生命周期,再选择 Data Asset 或 C++/Blueprint Provider。
  • 选择 Common Provider 前,确定哪些偏好由 GGS 负责存储,哪些值需要由项目系统实际应用。
  • 使用设置菜单时单独接入 GenericSettingsSystemUI,并按项目 UI 结构创建 Widget。

深入阅读:

  • 设置模型与 Provider
  • 内置 Provider 与项目配置
  • 设置菜单 UI 接入