Actor is the base class for an Object that can be placed or spawned in a level. Actors may contain a collection of ActorComponents, which can be used to control how actors move, how they are rendered, etc. The other main function of an Actor is the replication of properties and function calls across the network during play. Actor initialization has multiple steps, here's the order of important virtual functions that get called: UObject::PostLoad: For actors statically placed in a level, the normal UObject PostLoad gets called both in the editor and during gameplay. This is not called for newly spawned actors. UActorComponent::OnComponentCreated: When an actor is spawned in the editor or during gameplay, this gets called for any native components. For blueprint-created components, this gets called during construction for that component. This is not called for components loaded from a level. AActor::PreRegisterAllComponents: For statically placed actors and spawned actors that have native root components, this gets called now. For blueprint actors without a native root component, these registration functions get called later during construction. UActorComponent::RegisterComponent: All components are registered in editor and at runtime, this creates their physical/visual representation. These calls may be distributed over multiple frames, but are always after PreRegisterAllComponents. This may also get called later on after an UnregisterComponent call removes it from the world. AActor::PostRegisterAllComponents: Called for all actors both in the editor and in gameplay, this is the last function that is called in all cases. AActor::PostActorCreated: When an actor is created in the editor or during gameplay, this gets called right before construction. This is not called for components loaded from a level. AActor::UserConstructionScript: Called for blueprints that implement a construction script. AActor::OnConstruction: Called at the end of ExecuteConstruction, which calls the blueprint construction script. This is called after all blueprint-created components are fully created and registered. This is only called during gameplay for spawned actors, and may get rerun in the editor when changing blueprints. AActor::PreInitializeComponents: Called before InitializeComponent is called on the actor's components. This is only called during gameplay and in certain editor preview windows. UActorComponent::Activate: This will be called only if the component has bAutoActivate set. It will also got called later on if a component is manually activated. UActorComponent::InitializeComponent: This will be called only if the component has bWantsInitializeComponentSet. This only happens once per gameplay session. AActor::PostInitializeComponents: Called after the actor's components have been initialized, only during gameplay and some editor previews. AActor::BeginPlay: Called when the level starts ticking, only during actual gameplay. This normally happens right after PostInitializeComponents but can be delayed for networked or child actors.

Member Type Offset Share
Components TArray<UActorComponent*> 0x 60
AllComponents TArray<UActorComponent*> 0x 70
Location FVector 0x 80
Rotation FRotator 0x 8c
DrawScale float 0x 98
DrawScale3D FVector 0x 9c
PrePivot FVector 0x a8

A fence to track when the primitive is detached from the scene in the rendering thread.

FRenderCommandFence 0x b4

Allow each actor to run at a different time speed.

float 0x b8
Physics EPhysics 0x bc
RemoteRole ENetRole 0x bd
Role ENetRole 0x be
CollisionType ECollisionType 0x bf
ReplicatedCollisionType ECollisionType 0x c0
TickGroup ETickingGroup 0x c1

Owner of this Actor, used primarily for replication (bNetUseOwnerRelevancy & bOnlyRelevantToOwner) and visibility (PrimitiveComponent bOwnerNoSee and bOnlyOwnerSee)

AActor* 0x c4
Base AActor* 0x cc
Timers TArray<FTimerData> 0x d4
bStatic : 1 uint32_t 0x e4
bHidden : 1 uint32_t 0x e4
bNoDelete : 1 uint32_t 0x e4
bDeleteMe : 1 uint32_t 0x e4
bTicked : 1 uint32_t 0x e4
bOnlyOwnerSee : 1 uint32_t 0x e4
bTickIsDisabled : 1 uint32_t 0x e4
bServerTickIsDisabled : 1 uint32_t 0x e4
bWorldGeometry : 1 uint32_t 0x e4
bIgnoreRigidBodyPawns : 1 uint32_t 0x e4
bOrientOnSlope : 1 uint32_t 0x e4
bIgnoreEncroachers : 1 uint32_t 0x e4
bPushedByEncroachers : 1 uint32_t 0x e4
bDestroyedByInterpActor : 1 uint32_t 0x e4
bRouteBeginPlayEvenIfStatic : 1 uint32_t 0x e4
bIsMoving : 1 uint32_t 0x e4
bAlwaysEncroachCheck : 1 uint32_t 0x e4
bHasAlternateTargetLocation : 1 uint32_t 0x e4
bCanStepUpOn : 1 uint32_t 0x e4
bNetTemporary : 1 uint32_t 0x e4
bOnlyRelevantToOwner : 1 uint32_t 0x e4
bNetDirty : 1 uint32_t 0x e4
bAlwaysRelevant : 1 uint32_t 0x e4
bReplicateInstigator : 1 uint32_t 0x e4
bReplicateMovement : 1 uint32_t 0x e4
bSkipActorPropertyReplication : 1 uint32_t 0x e4
bUpdateSimulatedPosition : 1 uint32_t 0x e4
bTearOff : 1 uint32_t 0x e4
bOnlyDirtyReplication : 1 uint32_t 0x e4
bAlwaysInformOfTimelapse : 1 uint32_t 0x e4
bNetTimelapse : 1 uint32_t 0x e4
bNetTimelapseInit : 1 uint32_t 0x e4
bNetTimelapsePost : 1 uint32_t 0x e8
bAllowFluidSurfaceInteraction : 1 uint32_t 0x e8
bDemoRecording : 1 uint32_t 0x e8
bDemoOwner : 1 uint32_t 0x e8
bForceDemoRelevant : 1 uint32_t 0x e8
bNetInitialRotation : 1 uint32_t 0x e8
bReplicateRigidBodyLocation : 1 uint32_t 0x e8
bKillDuringLevelTransition : 1 uint32_t 0x e8
bExchangedRoles : 1 uint32_t 0x e8
bConsiderAllStaticMeshComponentsForStreaming : 1 uint32_t 0x e8
bDebug : 1 uint32_t 0x e8
bPostRenderIfNotVisible : 1 uint32_t 0x e8
s_bThrottleNetRelevancy : 1 uint32_t 0x e8
m_bHasThreadedWork : 1 uint32_t 0x e8
bForceNetUpdate : 1 uint32_t 0x e8
bPendingNetUpdate : 1 uint32_t 0x e8
bHardAttach : 1 uint32_t 0x e8
bIgnoreBaseRotation : 1 uint32_t 0x e8
bShadowParented : 1 uint32_t 0x e8
bSkipAttachedMoves : 1 uint32_t 0x e8
bCanBeAdheredTo : 1 uint32_t 0x e8
bCanBeFrictionedTo : 1 uint32_t 0x e8
bHurtEntry : 1 uint32_t 0x e8
bGameRelevant : 1 uint32_t 0x e8
bMovable : 1 uint32_t 0x e8
bDestroyInPainVolume : 1 uint32_t 0x e8
bCanBeDamaged : 1 uint32_t 0x e8
bShouldBaseAtStartup : 1 uint32_t 0x e8
bPendingDelete : 1 uint32_t 0x e8
bCanTeleport : 1 uint32_t 0x e8
bAlwaysTick : 1 uint32_t 0x e8
bBlocksNavigation : 1 uint32_t 0x e8
BlockRigidBody : 1 uint32_t 0x ec
bCollideWhenPlacing : 1 uint32_t 0x ec
bCollideActors : 1 uint32_t 0x ec
bCollideWorld : 1 uint32_t 0x ec
bCollideComplex : 1 uint32_t 0x ec
bBlockActors : 1 uint32_t 0x ec
bProjTarget : 1 uint32_t 0x ec
bBlocksTeleport : 1 uint32_t 0x ec
bMoveIgnoresDestruction : 1 uint32_t 0x ec
bProjectileMoveSingleBlocking : 1 uint32_t 0x ec
bNoEncroachCheck : 1 uint32_t 0x ec
bCollideAsEncroacher : 1 uint32_t 0x ec
bPhysRigidBodyOutOfWorldCheck : 1 uint32_t 0x ec
bComponentOutsideWorld : 1 uint32_t 0x ec
bForceOctreeSNFilter : 1 uint32_t 0x ec
bForceOctreeMNFilter : 1 uint32_t 0x ec
bRigidBodyWasAwake : 1 uint32_t 0x ec
bCallRigidBodyWakeEvents : 1 uint32_t 0x ec
bWhitelistCollisionWarning : 1 uint32_t 0x ec
bBounce : 1 uint32_t 0x ec
bJustTeleported : 1 uint32_t 0x ec
bSupportNetIrrelevant : 1 uint32_t 0x ec
bClientSideOnly : 1 uint32_t 0x ec
bEnableMobileTouch : 1 uint32_t 0x ec
bNetInitial : 1 uint32_t 0x ec
bNetOwner : 1 uint32_t 0x ec
bNetRelevant : 1 uint32_t 0x ec
bNetAcked : 1 uint32_t 0x ec
bHiddenEd : 1 uint32_t 0x ec
bEditable : 1 uint32_t 0x ec
bHiddenEdGroup : 1 uint32_t 0x ec
bHiddenEdLayer : 1 uint32_t 0x ec
bHiddenEdCustom : 1 uint32_t 0x f0
bHiddenEdTemporary : 1 uint32_t 0x f0
bHiddenEdLevel : 1 uint32_t 0x f0
bHiddenEdScene : 1 uint32_t 0x f0
bEdShouldSnap : 1 uint32_t 0x f0
bTempEditor : 1 uint32_t 0x f0
bPathColliding : 1 uint32_t 0x f0
bPathTemp : 1 uint32_t 0x f0
bScriptInitialized : 1 uint32_t 0x f0
bLockLocation : 1 uint32_t 0x f0
bForceAllowKismetModification : 1 uint32_t 0x f0
bReplicateBotRankId : 1 uint32_t 0x f0
bNoTick : 1 uint32_t 0x f0
bDebugEffectIsRelevant : 1 uint32_t 0x f0
bUpdateHavokPos : 1 uint32_t 0x f0
c_bJustStartedTimelapsePlayback : 1 uint32_t 0x f0
c_bJustEndedTimelapsePlayback : 1 uint32_t 0x f0
SkelMeshCompTickTag int32_t 0x f4

Internal - used by UNetDriver

int32_t 0x f8
IndexInTickList int32_t 0x fc
LastSlowRelevancyCheckTime float 0x 100
NetUpdateTime float 0x 104

How often (per second) this actor will be considered for replication, used to determine NetUpdateTime

float 0x 108

Priority for this actor when checking for replication in a low bandwidth or saturated situation, higher priority means it is more likely to replicate

float 0x 10c
LastNetUpdateTime float 0x 110
TimeSinceLastTick float 0x 114
Instigator APawn* 0x 118
WorldInfo AWorldInfo* 0x 120
LifeSpan float 0x 128

The time this actor was created, relative to World->GetTimeSeconds().

float 0x 12c
LastRenderTime float 0x 130
Tag FName 0x 134
InitialState FName 0x 13c
Layer FName 0x 144
Group FName 0x 14c

Bitflag to represent which views this actor is hidden in, via per-view layer visibility.

FQWord 0x 154
Touching TArray<AActor*> 0x 15c

Array of all Actors whose Owner is this actor, these are not necessarily spawned by UChildActorComponent

TArray<AActor*> 0x 16c
LatentFloat float 0x 17c
LatentSeqNode UAnimNodeSequence* 0x 180
PhysicsVolume APhysicsVolume* 0x 188
Velocity FVector 0x 190
Acceleration FVector 0x 19c
AngularVelocity FVector 0x 1a8
BaseSkelComponent USkeletalMeshComponent* 0x 1b4
BaseBoneName FName 0x 1bc
Attached TArray<AActor*> 0x 1c4
RelativeLocation FVector 0x 1d4
RelativeRotation FRotator 0x 1e0
CollisionComponent UPrimitiveComponent* 0x 1ec
OverlapTag int32_t 0x 1f4
RotationRate FRotator 0x 1f8
PendingTouch AActor* 0x 204
DatabaseFieldName FName 0x 20c
MessageClass ULocalMessage* 0x 214
BotRankId int32_t 0x 21c
SupportedEvents TArray<USequenceEvent*> 0x 220
GeneratedEvents TArray<USequenceEvent*> 0x 230
LatentActions TArray<USeqAct_Latent*> 0x 240
LocationPackedKey int32_t 0x 250
LocationPrev FVector 0x 254