虚幻引擎开发助手
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,将 @user_3c6cb52e/unreal-engine-j4zx 安装到当前 AI 助手中。
技能介绍
UE C++ 开发的几个高频坑
在虚幻引擎项目里写 C++,很多错误在编译期完全看不出来:UObject* 成员忘记加 UPROPERTY(),运行时被 GC 静默回收;在 Tick 里反复 Cast,帧率悄悄掉下去;用硬 TSubclassOf 引用大量资产,启动时卡在加载链上。另一个常见问题是凭命名习惯猜测引擎 API——比如以为某个类有对应的 Getter,实际上并不存在。这类问题在 GAS 相关的类(FGameplayAbilityActorInfo、FGameplayEffectSpec)上尤为常见,它们的访问模式与常规 UE 约定并不一致。
技能如何工作
这个技能的核心理念是零假设:不猜测项目结构、资产路径或已有 helper 函数,所有改动前先做 Pre-Flight 发现。
- 项目侦察:先定位
.uproject,从EngineAssociation字段确认引擎版本,检查已启用的插件和模块依赖,再梳理Source/目录结构与Content/资产。 - 先读后写:在给出任何代码建议前,先阅读已有的角色/控制器类,摸清命名约定(如 Input Action 的
IA_前缀)和组件使用方式。 - 代码质量准则:
UPROPERTY()包裹所有权指针,优先用TObjectPtr<>;Tick默认关闭,改用定时器或事件;热点路径缓存Cast结果;大资产用TSoftClassPtr/TSoftObjectPtr。 - 按需加载参考:GAS、Enhanced Input、插件开发、数据驱动设计、调试等主题都有独立的参考文件,需要时再深入。
适用边界
- 仅面向 Unreal Engine 5.x,不适用于 4.27 以下或纯蓝图项目。
- 不会自动创建新的
UCLASS/USTRUCT头文件与源文件——引擎生成的GENERATED_BODY()、PROJECTNAME_API等样板代码无法可靠手写复制,需要先在编辑器里用 New C++ Class 创建。 - 调用任何 helper 函数前会先在代码库里核实声明,不存在就直接用引擎 API,不会凭空发明调用。
- 修改任何 C++ 文件后,要求先跑通编译再继续,具体命令以项目
CLAUDE.md为准。
使用场景
- 在 UE5 C++ 项目里编写 Actor 或 Component 类时,需要确认 UPROPERTY 与反射宏的正确用法
- 排查对象被 GC 静默回收或内存泄漏,定位缺失的 UPROPERTY 封装与 AddToRoot 误用
- 为角色接入 Enhanced Input,按项目已有 InputAction 命名约定绑定输入映射上下文
- 搭建 GAS 能力系统时,确认 ASC 挂载位置、服务端能力授予与 Build.cs 插件依赖
适合人员
- UE5 C++ 游戏客户端或服务端工程师,需要处理 GC、反射与性能相关的引擎底层问题
- 从蓝图转向 C++ 的玩法程序员,需要按 Epic 编码规范落地 UCLASS 与 Enhanced Input
- 负责 GAS 或插件体系搭建的技术负责人,需要在写代码前核实插件启用状态与模块依赖