虚幻引擎开发助手
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/unreal-engine-png。
技能介绍
UE C++ 开发的常见陷阱
在虚幻引擎里写 C++,麻烦的往往不是语言本身。一个忘记加 UPROPERTY() 的成员变量会被 GC 在运行时静默回收;在 Tick 里反复 Cast() 会让帧率断崖式下跌;而手写的 UCLASS 头文件会因为缺少引擎生成的样板(GENERATED_BODY() 宏、模块导出宏、.generated.h 的包含顺序)直接编译失败。更隐蔽的是,模型凭空假设一个不存在的辅助函数(比如 GetUIManager())或按命名习惯猜测引擎 API,会把 bug 直接写进代码库。
这套技能如何工作
零假设原则是整套技能的基石。在输出任何代码之前,它强制先执行 Pre-Flight Discovery Protocol:
- 定位
.uproject文件,解析EngineAssociation、已启用插件与模块依赖 - 梳理
Source/目录结构与Content/资产,确认项目既有命名约定(如IA_前缀) - 通读现有 Character / Controller 类,理解项目的代码模式
- 调用任何辅助函数前,先在代码库中确认它确实存在
绝不自动创建 UCLASS / USTRUCT 文件——这类文件必须由开发者在编辑器里通过 New C++ Class 生成,引擎负责填充样板代码,模型只在生成的文件上添加成员与逻辑。每次修改 C++ 文件后,必须运行项目构建并确认通过。
代码质量方面,它内置了 Epic 规范的检查清单:UObject* 与 TObjectPtr<> 成员必须包在 UPROPERTY() 中;默认关闭 Tick、优先用 Timer 或事件;反射属性默认 BlueprintReadOnly;大型资产用 TSoftClassPtr / TSoftObjectPtr 软引用;GAS、Enhanced Input、插件开发、数据驱动设计各有独立参考文件按需加载。
适用边界
- 仅面向 UE 5.x 的 C++ 项目,纯蓝图项目与 4.27 以下版本不适用
- 写输入、GAS 相关代码前,先确认对应插件已在
.uproject中启用 - 不确定的引擎 API 应查阅官方文档或示例项目(Lyra、ActionRPG),而不是猜测
使用场景
- 编写 UE 5.x 游戏 C++ 代码时,需要遵循 Epic 官方规范生成 Actor 与 Component 逻辑,避免触发垃圾回收导致的崩溃。
- 开发基于 Gameplay Ability System 的技能系统时,需要正确配置 Ability System Component 并确保服务器权威激活。
- 优化项目性能时,需要排查 Tick 函数中的无效 Cast 调用,改用 BeginPlay 缓存或定时器驱动以稳定帧率。
- 排查项目内存泄漏时,需要审查 UObject 指针是否正确添加 UPROPERTY 宏,防止对象被静默回收。
适合人员
- 游戏客户端程序员:需要在 UE 5.x 中编写高性能 C++ 逻辑,并严格遵循 Epic 引擎的内存与反射系统规范。
- GAS 系统工程师:正在使用虚幻引擎 Gameplay Ability System 开发多人在线角色技能,需要处理复杂的网络同步与生命周期。
- 技术主程与架构师:负责维护 UE 项目代码质量,需要一套自动化的代码审查标准来规避 GC 泄漏与硬引用导致的启动卡顿。