Skip to content

Full Class Catalog

A reference flattening of UE's primary blueprint-relevant classes. Use this when you can't remember what a class is for.

Game framework

Class Role
UGameInstance Persists across levels; per-process singleton
AGameModeBase Server-side game rules; not replicated
AGameStateBase Replicated game state visible to all clients
APlayerState Per-player replicated state (score, name)
APlayerController Per-player local input + camera authority
AAIController NPC controller
AHUD Per-player UI root
APawn / ACharacter Possess-able actors
ULevelScriptActor Per-level Blueprint logic

Actors

Class Role
AActor Base placeable
AStaticMeshActor Wrapped UStaticMeshComponent
ASkeletalMeshActor Wrapped USkeletalMeshComponent
ABrush CSG / volume base
AVolume Bounded region
ATriggerVolume, APostProcessVolume, AAudioVolume, … Specific volumes (see Volumes)
ACameraActor / ACineCameraActor Placed cameras
ADecalActor Decals
AEmitter (legacy) / ANiagaraActor FX

Components (selected)

Class Role
UStaticMeshComponent Static mesh rendering + collision
USkeletalMeshComponent Skinned mesh
UInstancedStaticMeshComponent Many identical meshes, one draw call
UHierarchicalInstancedStaticMeshComponent ISM + LOD per instance
UCharacterMovementComponent Pawn locomotion
UAbilitySystemComponent GAS hub
USceneCaptureComponent2D Camera into RT
UWidgetComponent UMG in 3D
UNiagaraComponent FX instance
UAudioComponent Sound instance
UCameraComponent POV
USpringArmComponent Third-person follow boom

UI

Class Role
UWidget Base
UUserWidget Composite (your Widget Blueprints)
UCommonActivatableWidget Common UI stack member
UCommonButtonBase Common UI button
UWidgetComponent 3D-placed widget

Animation

Class Role
USkeletalMeshComponent Renders + ticks an AnimInstance
UAnimInstance Anim Blueprint runtime
UAnimSequence A baked clip
UAnimMontage Sectioned playback for combos / cinematics
UAnimBlueprint Authoring asset for UAnimInstance
UControlRig Procedural rigging
UIKRig Skeleton retargeting / IK
UPoseAsset Library of named poses
UAnimDataModel Internal anim authoring model

Data

Class Role
UDataAsset / UPrimaryDataAsset Data containers
UDataTable Tabular data
UCurveBase / UCurveFloat / UCurveVector Time-based curves
UCompositeDataTable Layered data tables
UGameplayTagsManager Tag registry

AI

Class Role
UBehaviorTree The BT asset
UBlackboard Keyed data store for BTs
UBTService / UBTTask / UBTDecorator BT node types
UEnvQueryTest / UEnvQuery EQS spatial queries
UAIPerceptionComponent Sight / hearing
AAIController The NPC's controller
UNavigationSystem Project-wide nav

Audio

Class Role
USoundCue Legacy DSP-light authoring
UMetaSoundSource Modern DSP graph
USoundClass Bus-style grouping
USoundSubmix Output routing
USoundAttenuation 3D playback rules
UReverbEffect Reverb preset
USoundWave Audio file asset

Render

Class Role
UTexture2D Standard 2D texture
UTextureRenderTarget2D Writable RT
UMaterial Master material
UMaterialInstance{Constant,Dynamic} Static / runtime instance
UStaticMesh / USkeletalMesh Source meshes
UWorld The level container
UPostProcessSettings Post-process struct (used in volumes / cameras)

Subsystems

Class Role
UEngineSubsystem Per-process
UGameInstanceSubsystem Per UGameInstance
UWorldSubsystem Per UWorld (level)
ULocalPlayerSubsystem Per ULocalPlayer

Subsystems are the modern replacement for singletons — UMySubsystem* S = GetGameInstance()->GetSubsystem<UMySubsystem>();.

Use this page

When you're sketching a system, glance here to find the right starting class. From there, the per-page deep dives explain how to use them.