基础类型
基础类型 ├── int8, int16, int32, int64 ├── uint8, uint16, uint32, uint64 ├── float, double └── bool
核心字符串与名称 ├── FString (动态字符串) ├── FName (哈希化标识符) ├── FText (本地化文本) ├── FStringView (字符串视图) └── TStringBuilderBase (字符串构建器)
容器模板 (T开头) ├── TArray (动态数组) ├── TSet (集合) ├── TMap (键值映射) ├── TQueue (队列) ├── TStack (栈) ├── TLinkedList (链表) ├── TSparseArray (稀疏数组) ├── TBitArray (位数组) └── TTuple (元组)
常用数学类型 (F开头) ├── FVector ├── FVector2D ├── FVector4 ├── FRotator (旋转) ├── FQuat (四元数) ├── FTransform (位置+旋转+缩放) ├── FMatrix (4x4矩阵) ├── FBox (轴对齐包围盒) ├── FSphere (球体) ├── FPlane (平面) ├── FColor (颜色) ├── FLinearColor (线性颜色) ├── FGuid (全局唯一标识) ├── FDateTime (日期时间) ├── FTimespan (时间跨度) └── FMath (静态数学函数)
智能指针 (T开头) ├── TSharedPtr (共享所有权) ├── TSharedRef (非空共享引用) ├── TWeakPtr (弱引用) ├── TUniquePtr (独占所有权) └── TSharedFromThis (支持生成TSharedPtr)
委托与事件 ├── 单播委托 │ ├── FDelegate (无返回值) │ └── FRetValDelegate (有返回值) ├── 多播委托 │ └── FMulticastDelegate ├── 动态委托 (蓝图可用) │ ├── FScriptDelegate │ └── FMulticastScriptDelegate └── 事件 └── FSimpleDelegate
文件、流与序列化 ├── FArchive (序列化基类) ├── FBufferArchive (内存写入) ├── FMemoryReader (内存读取) ├── FMemoryWriter (内存写入) ├── FFileHandle (文件句柄) └── FPaths (路径工具)
日志与输出 ├── FOutputDevice (输出设备基类) │ ├── FOutputDeviceConsole (控制台输出) │ ├── FOutputDeviceFile (文件输出) │ ├── FOutputDeviceDebug (调试器输出) │ └── FOutputDeviceRedirector (重定向器即GLog) └── FLogCategoryBase (日志类别基类)
平台抽象层 (FPlatform*) ├── FPlatformProcess (进程管理) ├── FPlatformMisc (杂项功能) ├── FPlatformMemory (内存管理) ├── FPlatformFileManager (文件管理) ├── FGenericPlatformProcess (通用进程基类) ├── FGenericPlatformMisc (通用杂项基类) ├── FGenericPlatformMemory (通用内存基类) ├── FGenericPlatformFileManager (通用文件管理基类) ├── FWindowsPlatform* (Windows实现) ├── FLinuxPlatform* (Linux实现) ├── FMacPlatform* (Mac实现) └── FAndroidPlatform* (Android实现)
异步与并发 ├── FRunnable (线程接口) ├── FRunnableThread (线程) ├── FEvent (事件) ├── FGraphEventRef (任务图事件引用) ├── FTaskGraphInterface (任务图接口) └── TFuture (异步结果)
反射与元数据辅助类型 (非UObject) ├── FProperty (属性描述基类) │ ├── FStructProperty │ ├── FObjectProperty │ ├── FClassProperty │ ├── FArrayProperty │ ├── FSetProperty │ ├── FMapProperty │ ├── FStringProperty │ ├── FNameProperty │ ├── FTextProperty │ ├── FIntProperty │ ├── FFloatProperty │ ├── FDoubleProperty │ ├── FBoolProperty │ ├── FByteProperty │ ├── FEnumProperty │ └── ... (数十种具体属性类型) ├── FScriptArray (底层数组容器) ├── FScriptMap (底层哈希表容器) ├── FScriptSet (底层集合容器) ├── FWeakObjectPtr (弱UObject指针) └── FSoftObjectPath (软对象路径)
枚举 (E开头) ├── ENetRole ├── ENetMode ├── EObjectFlags ├── EFunctionFlags ├── EPropertyFlags ├── EObjectMark ├── EObjectStatus ├── EAppMsgType ├── EAppReturnType ├── ELogVerbosity ├── EAsyncLoadingResult ├── ETravelType ├── ELevelTick ├── EInputEvent ├── EAxis ├── EMouseCursor ├── EBlendMode ├── ESoundGroup ├── EPixelFormat └── ... (数百个其他引擎枚举)
其他常用结构 ├── FKey (输入按键) ├── FSlateBrush (UI画刷) ├── FAssetData (资产数据) ├── FFormatNamedArguments (格式化参数) ├── FScriptDelegate (脚本委托,已在上文委托中列出) ├── FHitResult (碰撞命中结果) ├── FStringClassReference (类引用) └── FSoftClassPath (软类路径)
UObject类型
// UObject基类继承关系 UObjectBase (最底层,内存/GC/标志位) └── UObjectBaseUtility (增加工具函数,如GetName/IsA) └── UObject (对所有开发者公开的根类)
游戏框架
UObject │ ├── AActor (可放入游戏世界的对象基类,支持三维变换) │ │ │ ├── APawn (可被“控制”的化身,代表玩家或AI的实体) │ │ └── ACharacter (人形角色,内置胶囊体碰撞和移动组件) │ │ │ ├── AController (非实体的逻辑大脑,控制Pawn的行为) │ │ ├── APlayerController (接收真实玩家的输入,管理UI和HUD) │ │ └── AAIController (驱动AI决策,通常运行行为树) │ │ │ ├── AGameModeBase (定义游戏核心规则:胜利条件、玩家出生等,仅服务器端) │ │ └── AGameMode (更具体的游戏模式实现) │ │ │ ├── AGameStateBase (存储所有客户端同步的全局游戏状态,如比分、游戏时长) │ │ └── AGameState (更具体的游戏状态实现) │ │ │ ├── APlayerState (存储单个玩家的动态数据:名字、得分、击杀数等) │ │ │ ├── AStaticMeshActor (用于在场景中放置一个静态网格物体) │ │ │ ├── ACameraActor (可在场景中放置的相机,用于切换视角) │ │ │ ├── ALight (所有光源的基类) │ │ ├── ADirectionalLight (模拟太阳的平行光) │ │ ├── APointLight (从一点向四周发出的点光源) │ │ └── ASpotLight (圆锥形照射范围的聚光源) │ │ │ ├── ATriggerBase (触发器的基类,用于重叠事件) │ │ ├── ATriggerBox (盒形触发器) │ │ ├── ATriggerCapsule (胶囊形触发器) │ │ └── ATriggerSphere (球形触发器) │ │ │ └── APlayerStart (标记玩家在关卡中的出生位置)
UObject │ ├── UActorComponent (功能模块,附加到Actor上以提供特定行为) │ │ │ ├── USceneComponent (具有空间变换(位置/旋转/缩放)的组件基类) │ │ │ │ │ ├── UPrimitiveComponent (具有图形表示或碰撞的组件基类) │ │ │ │ │ │ │ ├── UMeshComponent (所有网格组件的基类) │ │ │ │ ├── UStaticMeshComponent (用于渲染静态网格体) │ │ │ │ └── USkeletalMeshComponent (用于渲染带有骨骼动画的网格体) │ │ │ │ │ │ │ └── UShapeComponent (用于简单碰撞的形状组件基类) │ │ │ ├── UBoxComponent (盒体碰撞) │ │ │ ├── UCapsuleComponent (胶囊体碰撞,常用于角色) │ │ │ └── USphereComponent (球体碰撞) │ │ │ │ │ ├── UCameraComponent (为Actor提供“眼睛”,定义玩家的视野) │ │ │ │ │ └── ULightComponentBase (所有光源组件的基类) │ │ └── ULightComponent (光源组件) │ │ ├── UDirectionalLightComponent (平行光组件) │ │ ├── UPointLightComponent (点光源组件) │ │ │ └── USpotLightComponent (聚光源组件) │ │ └── USkyLightComponent (天光组件) │ │ │ └── (无空间变换的功能组件) │ ├── UMovementComponent (控制物体移动逻辑的基类) │ │ ├── UCharacterMovementComponent (专门控制角色行走、跳跃、游泳) │ │ └── UProjectileMovementComponent (控制抛射物如子弹、火球的物理运动) │ │ │ ├── UInputComponent (将输入按键与游戏内行为绑定) │ │ │ └── UAudioComponent (用于在游戏中播放3D或2D声音)
世界、关卡与核心系统
UObject │ ├── 反射类型系统 (元数据) │ ├── UField │ │ ├── UEnum (描述UENUM枚举) │ │ ├── UStruct │ │ │ ├── UClass (描述C++类) │ │ │ │ └── UBlueprintGeneratedClass (蓝图生成的类) │ │ │ ├── UScriptStruct (描述USTRUCT结构体,如FVector) │ │ │ └── UFunction (描述UFUNCTION函数) │ │ └── UProperty (已废弃,UE5中为FProperty) │ └── UPackage (包) │ ├── 世界与关卡 │ ├── UWorld (游戏世界的容器,管理 Level、Actor 等) │ └── ULevel (关卡,可包含多个AActor)) │ ├── 游戏实例与子系统 (全局/局部管理器) │ ├── UGameInstance (跨关卡的游戏全局实例) │ └── USubsystem (可插拔的系统基类) │ ├── UEngineSubsystem (引擎级,整个进程生命周期) │ ├── UGameInstanceSubsystem (随 GameInstance 创建/销毁) │ ├── UWorldSubsystem (随 World 创建/销毁) │ └── ULocalPlayerSubsystem (随 LocalPlayer 创建/销毁) │ └── 引擎核心 ├── UEngine (抽象基类,声明类型) │ └── UGameEngine (游戏运行时模式) │ └── UEditorEngine (编辑器模式,继承自 UGameEngine) ├── ULocalPlayer (本地玩家) ├── UGameViewportClient (视口) └── UEditorSubsystem (编辑器子系统,仅编辑器模式)
├── 资产核心类型(内容浏览器中可见的主要资产) │ │ │ ├── 纹理资产 (Textures) │ │ └── UTexture (纹理基类) │ │ ├── UTexture2D (最常用的2D纹理,导入的图片) │ │ ├── UTextureCube (立方体贴图,用于天空盒等) │ │ ├── UTextureRenderTarget (渲染目标纹理) │ │ └── UTextureLightProfile (IES配置文件) │ │ │ ├── 材质与着色器 (Materials & Shaders) │ │ └── UMaterialInterface (材质接口) │ │ ├── UMaterial (标准材质,可编辑节点图) │ │ └── UMaterialInstance (材质实例) │ │ ├── UMaterialInstanceConstant (常量实例) │ │ └── UMaterialInstanceDynamic (运行时动态实例) │ │ │ ├── 网格体资产 (Meshes) │ │ ├── UStaticMesh (静态网格体,用于静态几何体) │ │ └── USkeletalMesh (骨骼网格体,用于带骨骼动画的模型) │ │ │ ├── 动画资产 (Animation) │ │ ├── UAnimSequence (动画序列) │ │ ├── UAnimMontage (动画蒙太奇,用于技能/打断) │ │ ├── UAnimBlueprint (动画蓝图,控制动画状态机) │ │ └── UCurveBase (曲线基类) │ │ ├── UCurveFloat (浮点曲线) │ │ └── UCurveVector (向量曲线) │ │ │ ├── 音频资产 (Audio) │ │ └── USoundBase (声音基类) │ │ ├── USoundWave (原始波形音频文件) │ │ ├── USoundCue (声音提示,可组合多个音效) │ │ └── USoundAttenuation (衰减设置) │ │ │ ├── 蓝图资产 (Blueprints) │ │ └── UBlueprint (蓝图基类) │ │ ├── UBlueprint (普通蓝图类,继承自AActor等) │ │ ├── UAnimBlueprint (动画蓝图) │ │ ├── UWidgetBlueprint (UMG UI蓝图) │ │ └── UGameplayAbilityBlueprint (GAS能力蓝图) │ │ │ ├── 数据与配置资产 (Data & Config) │ │ ├── UDataAsset (简单数据容器,开发者自定义结构) │ │ │ └── UPrimaryDataAsset (支持异步加载的主数据资产) │ │ ├── UDataTable (数据表,通常来自CSV) │ │ ├── UCurveTable (曲线表格) │ │ ├── UCurveBase (曲线基类) │ │ │ ├── UCurveFloat (浮点曲线) │ │ │ └── UCurveVector (向量曲线) │ │ └── UUserDefinedStruct (用户自定义结构体资产) │ │ │ ├── 物理资产 (Physics) │ │ └── UPhysicsAsset (物理资产,为骨骼网格体配置碰撞体) │ │ └── UPhysicalMaterial (物理材质:摩擦、弹性) │ │ │ └── 其他常用资产 │ ├── UMaterialFunction (材质函数,可复用的材质节点图) │ ├── UTextureLightProfile (光域网文件) │ ├── UFont (字体资产) │ └── UMediaSource (媒体源,用于视频播放)