用途:在编写或调试 Unreal Engine 5.8 的 AActor 与 UActorComponent C++ 代码时使用,覆盖构造函数与 BeginPlay 的职责划分、PostInitializeComponents、EndPlay 清理等生命周期问题,以及组件拆分与组合模式。
主要内容与能力:按主题索引到 Actor 生命周期、组件系统、组件生命周期钩子、生成(SpawnActor、延迟生成、对象池)、Tick 组与间隔、接口、组合模式等。给出 Actor/Component 的类层次与继承关系(AActor、UActorComponent、USceneComponent、UPrimitiveComponent),以及 Actor 生命周期各阶段的事件顺序表。强调不可直接 new/delete,Actor 用 UWorld::SpawnActor 与 AActor::Destroy,组件用 CreateDefaultSubobject/NewObject 与 UActorComponent::DestroyComponent。构造函数运行在 CDO 上、GetWorld() 为空,需要世界或其他 Actor 的逻辑应放在 PostInitializeComponents 或 BeginPlay。
使用方式:根据请求与代码库判断所属领域,若存在 .agents/ue-project-context.md 可读取模块名、约定、插件与网络配置。仅当两种可能理解会产生不同代码时才提问。游戏模块 Build.cs 需包含 "Core"、"CoreUObject"、"Engine"。组件运行时创建需 NewObject 后 RegisterComponent,并建议用 UPROPERTY(TObjectPtr)持有指针。
适用场景与限制:适合围绕组件构建 Actor、排查生命周期顺序与清理、区分生成与延迟生成、Tick 配置及用接口替代强制转换等任务。网络复制、OnRep_ 与 RPC 由 ue-networking-replication 负责;复制规则等细节不在本文范围。资料未提供收费、价格与具体安装命令等信息。