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 |
---|---|---|---|
PrimaryActorTick
Primary Actor tick function, which calls TickActor(). |
FActorTickFunction | 0x28 | |
bNetTemporary : 1 | char | 0x58 | |
bNetStartup : 1 | char | 0x58 | |
bOnlyRelevantToOwner : 1 | char | 0x58 | |
bAlwaysRelevant : 1 | char | 0x58 | |
bReplicateMovement : 1 | char | 0x58 | |
bHidden : 1 | char | 0x58 | |
bTearOff : 1 | char | 0x58 | |
bExchangedRoles : 1 | char | 0x58 | |
bNetLoadOnClient : 1 | char | 0x59 | |
bNetUseOwnerRelevancy : 1 | char | 0x59 | |
bRelevantForNetworkReplays : 1 | char | 0x59 | |
bRelevantForLevelBounds : 1 | char | 0x59 | |
bReplayRewindable : 1 | char | 0x59 | |
bAllowTickBeforeBeginPlay : 1 | char | 0x59 | |
bAutoDestroyWhenFinished : 1 | char | 0x59 | |
bCanBeDamaged : 1 | char | 0x59 | |
bBlockInput : 1 | char | 0x5a | |
bCollideWhenPlacing : 1 | char | 0x5a | |
bFindCameraComponentWhenViewTarget : 1 | char | 0x5a | |
bGenerateOverlapEventsDuringLevelStreaming : 1 | char | 0x5a | |
bIgnoresOriginShifting : 1 | char | 0x5a | |
bEnableAutoLODGeneration : 1 | char | 0x5a | |
bIsEditorOnlyActor : 1 | char | 0x5a | |
bActorSeamlessTraveled : 1 | char | 0x5a | |
bReplicates : 1 | char | 0x5b | |
bCanBeInCluster : 1 | char | 0x5b | |
bAllowReceiveTickEventOnDedicatedServer : 1 | char | 0x5b | |
bActorEnableCollision : 1 | char | 0x5c | |
bActorIsBeingDestroyed : 1 | char | 0x5c | |
UpdateOverlapsMethodDuringLevelStreaming
Condition for calling UpdateOverlaps() to initialize overlap state when loaded in during level streaming. |
EActorUpdateOverlapsMethod | 0x5d | |
DefaultUpdateOverlapsMethodDuringLevelStreaming | EActorUpdateOverlapsMethod | 0x5e | |
RemoteRole | ENetRole | 0x5f | |
ReplicatedMovement | FRepMovement | 0x60 | |
InitialLifeSpan
How long this Actor lives before dying, 0=forever. |
float | 0x94 | |
CustomTimeDilation
Allow each actor to run at a different time speed. |
float | 0x98 | |
AttachmentReplication
Used for replicating attachment of this actor's RootComponent to another actor. |
FRepAttachment | 0xa0 | |
Owner
Owner of this Actor, used primarily for replication (bNetUseOwnerRelevancy & bOnlyRelevantToOwner) and visibility (PrimitiveComponent bOwnerNoSee and bOnlyOwnerSee) |
AActor* | 0xe0 | |
NetDriverName
Used to specify the net driver to replicate on (NAME_None || NAME_GameNetDriver is the default net driver) |
FName | 0xe8 | |
Role | ENetRole | 0xf0 | |
NetDormancy
Dormancy setting for actor to take itself off of the replication list without being destroyed on clients. |
ENetDormancy | 0xf1 | |
SpawnCollisionHandlingMethod
Controls how to handle spawning this actor in a situation where it's colliding with something else. |
ESpawnActorCollisionHandlingMethod | 0xf2 | |
AutoReceiveInput
Automatically registers this actor to receive input from a player. |
EAutoReceiveInput | 0xf3 | |
InputPriority
The priority of this input component when pushed in to the stack. |
int32_t | 0xf4 | |
InputComponent
Component that handles input for this actor, if input is enabled. |
UInputComponent* | 0xf8 | |
NetCullDistanceSquared
Square of the max distance from the client's viewpoint that this actor is relevant and will be replicated. |
float | 0x100 | |
NetTag
Internal - used by UNetDriver |
int32_t | 0x104 | |
NetUpdateFrequency
How often (per second) this actor will be considered for replication, used to determine NetUpdateTime |
float | 0x108 | |
MinNetUpdateFrequency
Used to determine what rate to throttle down to when replicated properties are changing infrequently |
float | 0x10c | |
NetPriority
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 | 0x110 | |
Instigator | APawn* | 0x118 | |
Children
Array of all Actors whose Owner is this actor, these are not necessarily spawned by UChildActorComponent |
TArray<AActor*> | 0x120 | |
RootComponent
The component that defines the transform (location, rotation, scale) of this Actor in the world, all other components must be attached to this one somehow |
USceneComponent* | 0x130 | |
ControllingMatineeActors
The matinee actors that control this actor. |
TArray<AMatineeActor*> | 0x138 | |
Layers
Layers the actor belongs to. |
TArray<FName> | 0x150 | |
ParentComponent | TWeakObjectPtr<UChildActorComponent> | 0x160 | |
Tags
Array of tags that can be used for grouping and categorizing. |
TArray<FName> | 0x170 | |
OnTakeAnyDamage
Called when the actor is damaged in any way. |
FMulticastSparseDelegate | 0x180 | |
OnTakePointDamage
Called when the actor is damaged by point damage. |
FMulticastSparseDelegate | 0x181 | |
OnTakeRadialDamage
Called when the actor is damaged by radial damage. |
FMulticastSparseDelegate | 0x182 | |
OnActorBeginOverlap
Called when another actor begins to overlap this actor, for example a player walking into a trigger. |
FMulticastSparseDelegate | 0x183 | |
OnActorEndOverlap
Called when another actor stops overlapping this actor. |
FMulticastSparseDelegate | 0x184 | |
OnBeginCursorOver
Called when the mouse cursor is moved over this actor if mouse over events are enabled in the player controller. |
FMulticastSparseDelegate | 0x185 | |
OnEndCursorOver
Called when the mouse cursor is moved off this actor if mouse over events are enabled in the player controller. |
FMulticastSparseDelegate | 0x186 | |
OnClicked
Called when the left mouse button is clicked while the mouse is over this actor and click events are enabled in the player controller. |
FMulticastSparseDelegate | 0x187 | |
OnReleased
Called when the left mouse button is released while the mouse is over this actor and click events are enabled in the player controller. |
FMulticastSparseDelegate | 0x188 | |
OnInputTouchBegin
Called when a touch input is received over this actor when touch events are enabled in the player controller. |
FMulticastSparseDelegate | 0x189 | |
OnInputTouchEnd
Called when a touch input is received over this component when touch events are enabled in the player controller. |
FMulticastSparseDelegate | 0x18a | |
OnInputTouchEnter
Called when a finger is moved over this actor when touch over events are enabled in the player controller. |
FMulticastSparseDelegate | 0x18b | |
OnInputTouchLeave
Called when a finger is moved off this actor when touch over events are enabled in the player controller. |
FMulticastSparseDelegate | 0x18c | |
OnActorHit
Called when this Actor hits (or is hit by) something solid. |
FMulticastSparseDelegate | 0x18d | |
OnDestroyed
Event triggered when the actor has been explicitly destroyed. |
FMulticastSparseDelegate | 0x18e | |
OnEndPlay
Event triggered when the actor is being deleted or removed from a level. |
FMulticastSparseDelegate | 0x18f | |
InstanceComponents | TArray<UActorComponent*> | 0x1f0 | |
BlueprintCreatedComponents
Array of ActorComponents that are created by blueprints and serialized per-instance. |
TArray<UActorComponent*> | 0x200 |