UE5 C++ 脚本常用父类:生命周期、常用属性/函数/委托速览

前言 在 UE5 C++ 开发里,“选对父类”几乎决定了脚本的生命周期、可放置位置、初始化时机,以及你能用到哪些系统能力(输入、碰撞、网络复制、UI、动画等)。 这篇文章按“实战常用频率”整理: 常见父类分别适合做什么。 每类对象的核心生命周期顺序。 常用属性、函数和委托(含高频回调)。 说明:本文聚焦入门和日常开发高频内容,细节会因引擎版本和项目架构(单机/联机)略有差异。 1. UObject:一切反射对象的基础 适用场景 纯数据对象 工具类对象 不需要直接出现在场景中的逻辑对象 生命周期要点 Constructor:构造默认值。 PostInitProperties:属性初始化后调用。 BeginDestroy / FinishDestroy:销毁流程。 常用属性/函数 GetWorld():部分上下文可用,不是所有 UObject 都有有效世界。 GetOuter():获取所属外部对象。 IsValid()(配合对象指针检查):避免访问失效对象。 常见委托 UObject 本身没有像 Actor 那样丰富的生命周期委托,但可以参与你自定义的动态委托系统。 2. AActor:关卡中最核心的可放置对象 适用场景 场景实体(可见或不可见) 可复制的游戏逻辑载体 挂组件、处理交互、触发器、机关等 生命周期(常见顺序) Constructor OnConstruction(编辑器放置或属性变更后触发) PreInitializeComponents PostInitializeComponents BeginPlay Tick(启用时每帧) EndPlay Destroyed 常用属性 PrimaryActorTick.bCanEverTick:是否允许 Tick。 bReplicates:是否参与网络复制。 NetUpdateFrequency:网络更新频率。 Tags:对象标签,快速分类检索。 常用函数 BeginPlay() / Tick(float DeltaSeconds) / EndPlay() SetActorLocation() / SetActorRotation() / SetActorTransform() Destroy() HasAuthority():联机场景判断服务器权限。 GetComponentsByClass():运行时检索组件。 常见委托 OnActorBeginOverlap OnActorEndOverlap OnTakeAnyDamage OnDestroyed 3. APawn 与 ACharacter:可控制角色核心 3.1 APawn 适用场景 可被 Controller 控制的对象 载具、飞行器、棋子等不一定是“人形角色”的可控实体 生命周期要点 继承 AActor 生命周期,同时常见控制链路是: ...

April 5, 2026 · 2 min