版本与适用范围
Generic Game System(GGS)1.6 面向 Unreal Engine 5.8 或更高版本。它是代码型插件,不包含可运行示例工程、角色模板或 UI 美术资源。插件由多个模块组成,可以按项目需要接入。
安装与启用
- 将插件安装到项目的
Plugins/GenericGameSystem目录,或通过 Fab 添加到项目。 - 在编辑器的插件设置中启用 Generic Game System,并确认项目启用了插件描述符声明的依赖:Niagara、CommonUI、Enhanced Input、Modular Gameplay、Targeting System、Smart Objects、Gameplay Behaviors 和 Gameplay Behavior Smart Objects。
- 重新启动编辑器;若项目使用 C++,重新生成项目文件并编译宿主 Editor Target。
- 只为项目实际使用的系统配置组件、Data Asset、Widget 和动画资源。GGS 不会替项目创建这些内容。
按需选择模块
需要的能力 | 主要模块 | 接入提示 |
|---|---|---|
情景 VFX/SFX | | 在 Actor 上使用情景效果组件,并配置自己的效果库。 |
相机模式栈 | | 将组件绑定到相机与 Spring Arm,并设置默认模式。 |
CommonUI 基础设施 | | 配置项目自己的 UI Policy、根布局和 Widget。 |
设置数据与运行时管理 | | 通过本地玩家子系统注册设置;可用 Data Asset 或 Provider 提供节点。 |
预制设置 Provider | | 按需启用视频、音频、输入、辅助功能和语言 Provider。 |
设置菜单 UI | | 依赖 GSS 与 GUIS,把设置注册表呈现到 CommonUI 菜单。 |
Smart Object 交互、布娃娃与工具 | | 按角色和玩法流程接入对应组件、Ability 或工具。 |
C++ 模块依赖
在使用插件类型的模块 Build.cs 中添加对应 GGS 模块依赖。若公共头文件暴露了该类型,使用 PublicDependencyModuleNames;若类型只在私有实现文件中使用,使用 PrivateDependencyModuleNames。不要为了调用某一个系统而把所有 GGS 模块都加入依赖。
PrivateDependencyModuleNames.AddRange(new[]
{
"GenericCameraSystem"
});上例只适用于依赖仅出现在该模块私有实现中的情况。模块间依赖和引擎插件依赖以插件描述符与各模块的 Build.cs 为准。
接入后的检查
- 确认实际使用的引擎版本为 UE 5.8+,且宿主 Editor Target 编译成功。
- 在项目设置或资产中配置系统要求的默认类、Provider、效果库或 UI Policy。
- 对多人交互和布娃娃流程,分别检查服务器状态与拥有者/远端客户端表现。
- 只启用项目用到的系统;项目仍负责角色、动画、规则、输入映射、UI 外观和内容资产。
接下来可按模块阅读相机、情景效果、UI、设置、交互、布娃娃和通用玩法工具专题。
后续阅读
先查看 功能列表,再按项目需要选择 相机系统、情景效果系统、UI 系统、交互系统、设置系统、布娃娃与恢复 或 通用玩法工具。可继续参考 最佳实践 和 常见问题。