跳转到正文

GGS 1.6 发布日志

作

作者

作者

创建时间: 2026年9月09日更新时间: 2026年9月15日

目录

Generic Game System 1.6

相对 1.5.1 的更新。这一版补上可 Apply / Cancel 的本地玩家设置,并把交互、可激活控件和模态里几个含糊默认收紧。设置菜单是增量:不配就不会自己弹出来。交互技能缺组件、模态缺关闭区绑定、或 C++ 覆写了旧显示名函数时,会直接不激活或编不过。

新增

  • 每个本地玩家可以有一份能预览、能保存、能取消的设置。 画面等设备项写到 UGameUserSettings;音频、输入和辅助功能写到该玩家的 Shared SaveGame。未 Apply 就退出菜单会丢弃脏值。
  • 常见画面 / 音频 / 输入 / 辅助功能 / 语言不必从零做。 内置 Provider 可蓝图子类化。画面覆盖窗口模式、显示器选择、分辨率、亮度、画质、VSync、帧率和动态分辨率。输入只覆盖设备偏好,不含 Enhanced Input 重绑定。项目要重写 Shared 的 ApplySettings,这些偏好才会作用到自己的音频或后处理。
  • 设置屏可以按 CommonUI 方式做列表、详情和层级返回。 提供可激活菜单、条目和 Apply / Cancel。
  • 窄屏 HUD 可以把一排控件折成单列。 Lyra 风格响应式面板在视口较窄时堆叠子控件。
  • 特效库、交互定义和设置资产可以在内容浏览器里直接新建。 新增 GenericGameSystemEditor Factory。
  • Mac 进入全部运行时与编辑器平台。 本版本面向 Unreal Engine 5.8。

变更

  • 没有交互组件的 Avatar 不能再激活交互技能。 缺失时拒绝激活并打错误日志,避免技能跑起来却没有候选目标。
  • 交互 Gameplay Behavior 每次运行都是新实例。 不再在共享 CDO 上保存单次技能状态。依赖 CDO 缓存的自定义 Behavior 会串单。
  • 交互显示名默认实现改用正确的函数名。 只覆写了 GetInteractionDisplayNameText_Implementation 的 C++ 子类需要改名,否则编译失败或继续走错误默认。
  • Smart Object 查找失败时蓝图拿不到脏指针。 失败路径把输出清空。
  • InputConfig = Default 的界面会继承 CommonUI 父类输入,而不是「不声明输入」。 依赖空 Optional 的旧界面需要显式选 Game / Menu / GameAndMenu。新增视口捕获期间隐藏光标的选项。
  • 模态可以点空白处关闭。 子类必须绑定 Border_TapToCloseZone;不需要时可关掉该选项。缺绑定的已有蓝图升级后要补。
  • 特效与 UI 的 Developer Settings 改名,和其他 Generic 插件对齐。 UGES_ContextEffectsSettings → UGES_DeveloperSettings,UGUIS_GenericUISystemSettings → UGUIS_DeveloperSettings。字段职责未删。

升级说明

设置系统是增量可升,不配就不会出现菜单。交互、模态和旧设置类名是行为收紧或源码不兼容。C++ 旧类名、模态蓝图、交互组件和接口覆写必须核对。不改时交互技能可能不激活,模态可能编不过。

  1. C++ 或 ini 里写死的旧 Developer Settings 类名改到新类名,并在项目设置里确认原配置还在。
  2. UGUIS_GameModalWidget 子类绑定 Border_TapToCloseZone;不需要点按关闭就关掉该选项。
  3. Avatar 缺少交互组件时,交互技能不再激活,请把组件挂上。
  4. 依赖 CDO 共享状态的自定义交互 Behavior 按每次运行新实例来改。
  5. 把 GetInteractionDisplayNameText_Implementation 改成 GetInteractionDisplayName_Implementation。
  6. InputConfig = Default 的界面会继承父类输入。若旧行为依赖「不声明输入配置」,改为显式选择。
  7. 要用设置菜单:配置 UGSS_DeveloperSettings,通常继承 Common Shared 并重写 ApplySettings,再把需要的 Common Provider 放进 Startup Provider Classes。