RealDocs

AActor

class Engine Blueprint Since 1.0
#include "GameFramework/Actor.h"
Access: public Specifiers: UCLASS

Description

The base class for all actors that can be placed or spawned in the world. AActor provides transform, component attachment, lifecycle events (BeginPlay, Tick, EndPlay), replication, and overlap/hit events. Every object you see or interact with in a level descends from AActor.

Caveats & Gotchas

  • Actors must be spawned with `UWorld::SpawnActor<T>()`, not `NewObject<T>()`.
  • Component initialization order: constructor → InitializeComponent → BeginPlay. Do not rely on component state in the constructor.
  • NetMode checks (`HasAuthority()`, `IsLocallyControlled()`) are critical for multiplayer correctness.
  • Calling `Destroy()` does not immediately remove the actor — it defers removal to end-of-frame.

Signature

class AActor : public UObject

Examples

Minimal AActor subclass C++
UCLASS()
class MYGAME_API AMyActor : public AActor
{
    GENERATED_BODY()

public:
    AMyActor();

protected:
    virtual void BeginPlay() override;
    virtual void Tick(float DeltaTime) override;

private:
    UPROPERTY(VisibleAnywhere)
    UStaticMeshComponent* Mesh;
};

AMyActor::AMyActor()
{
    PrimaryActorTick.bCanEverTick = true;
    Mesh = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("Mesh"));
    RootComponent = Mesh;
}
Spawning an actor C++
FActorSpawnParameters Params;
Params.Owner = this;
AMyActor* Spawned = GetWorld()->SpawnActor<AMyActor>(
    AMyActor::StaticClass(),
    FVector(0, 0, 100),
    FRotator::ZeroRotator,
    Params
);

Functions (444)

Lifecycle
51
Access Type Name
protected function AActor::BeginPlay
public function AActor::CanEverTick
public function AActor::Destroy
protected function AActor::EndPlay
public function AActor::GetGameTimeSinceCreation
public function AActor::GetLifeSpan
public function AActor::K2_DestroyActor
public function AActor::ReceiveTick
public function AActor::SetLifeSpan
public function AActor::TakeDamage
public function AActor::Tick
public function AActor::AllowReceiveTickEventOnDedicatedServer
public function AActor::Destroyed
public function AActor::FellOutOfWorld
public function AActor::FinishSpawning
public function AActor::GetAutoDestroyWhenFinished
public function AActor::HasActorBegunPlay
public function AActor::InitializeComponents
public function AActor::IsActorBeginningPlay
public function AActor::IsActorBeingDestroyed
public function AActor::IsActorInitialized
public function AActor::IsPendingKillPending
public function AActor::K2_OnReset
public function AActor::LifeSpanExpired
public function AActor::OnConstruction
public function AActor::PostActorCreated
public function AActor::PostInitializeComponents
public function AActor::ReceiveDestroyed
public function AActor::Reset
public function AActor::SetAutoDestroyWhenFinished
public function AActor::UninitializeComponents
public function AActor::UserConstructionScript
public function AActor::AsyncPhysicsTickActor
public function AActor::DispatchBeginPlay
public function AActor::ExecuteConstruction
public function AActor::IsActorBeginningPlayFromLevelStreaming
public function AActor::IsRunningUserConstructionScript
public function AActor::MarkComponentsAsGarbage
public function AActor::OutsideWorldBounds
public function AActor::PostActorConstruction
public function AActor::PostRegisterAllComponents
public function AActor::PostSpawnInitialize
public function AActor::PreInitializeComponents
public function AActor::PreRegisterAllComponents
public function AActor::ReceiveAsyncPhysicsTick
public function AActor::RegisterAllActorTickFunctions
public function AActor::RegisterAllComponents
public function AActor::ResetPropertiesForConstruction
public function AActor::RouteEndPlay
public function AActor::ShouldTickIfViewportsOnly
public function AActor::TickActor
Transform
58
Access Type Name
public function AActor::GetActorLocation
public function AActor::GetActorRelativeScale3D
public function AActor::GetActorScale
public function AActor::GetActorScale3D
public function AActor::GetActorTransform
public function AActor::GetAttachParentActor
public function AActor::GetHorizontalDistanceTo
public function AActor::GetSquaredDistanceTo
public function AActor::GetTransform
public function AActor::GetVelocity
public function AActor::K2_AddActorLocalOffset
public function AActor::K2_AddActorLocalRotation
public function AActor::K2_AddActorWorldOffset
public function AActor::K2_AddActorWorldRotation
public function AActor::K2_GetActorLocation
public function AActor::K2_GetActorRotation
public function AActor::K2_SetActorLocation
public function AActor::K2_SetActorLocationAndRotation
public function AActor::K2_SetActorRelativeLocation
public function AActor::K2_SetActorRelativeRotation
public function AActor::K2_SetActorRotation
public function AActor::K2_SetActorTransform
public function AActor::K2_TeleportTo
public function AActor::SetActorLocation
public function AActor::SetActorLocationAndRotation
public function AActor::SetActorRelativeLocation
public function AActor::SetActorRelativeRotation
public function AActor::SetActorRelativeScale3D
public function AActor::SetActorRelativeTransform
public function AActor::SetActorScale3D
public function AActor::ActorToWorld
public function AActor::AddActorLocalOffset
public function AActor::AddActorLocalRotation
public function AActor::AddActorWorldTransform
public function AActor::AddActorWorldTransformKeepScale
public function AActor::AttachToActor
public function AActor::AttachToComponent
public function AActor::DetachFromActor
public function AActor::DetachRootComponentFromParent deprecated
public function AActor::GetActorQuat
public function AActor::GetAttachParentSocketName
public function AActor::GetDotProductTo
public function AActor::GetHorizontalDotProductTo
public function AActor::GetSquaredHorizontalDistanceTo
public function AActor::GetVerticalDistanceTo
public function AActor::K2_AddActorLocalTransform
public function AActor::K2_AddActorWorldTransform
public function AActor::K2_AddActorWorldTransformKeepScale
public function AActor::K2_AttachRootComponentTo deprecated
public function AActor::K2_AttachRootComponentToActor deprecated
public function AActor::K2_AttachToActor
public function AActor::K2_AttachToComponent
public function AActor::K2_DetachFromActor
public function AActor::K2_SetActorRelativeTransform
public function AActor::TeleportSucceeded
public function AActor::TeleportTo
public function AActor::ApplyWorldOffset
public function AActor::GetLevelTransform
Components
57
Access Type Name
public function AActor::FindComponentByClass
public function AActor::GetComponents
public function AActor::GetRootComponent
public function AActor::IsRootComponentMovable
public function AActor::K2_GetComponentsByClass
public function AActor::K2_GetRootComponent
public function AActor::AddComponent
public function AActor::AddComponentByClass
public function AActor::AddInstanceComponent
public function AActor::ClearInstanceComponents
public function AActor::DetachAllSceneComponents
public function AActor::FindComponentByInterface
public function AActor::FindComponentByTag
public function AActor::ForEachAttachedActors
public function AActor::ForEachComponent
public function AActor::GetAllChildActors
public function AActor::GetAttachedActors
public function AActor::GetComponentsByClass
public function AActor::GetComponentsByInterface
public function AActor::GetComponentsByTag
public function AActor::GetDefaultAttachComponent
public function AActor::GetInstanceComponents
public function AActor::GetParentActor
public function AActor::GetParentComponent
public function AActor::HasActiveCameraComponent
public function AActor::HasActivePawnControlCameraComponent
public function AActor::HasValidRootComponent
public function AActor::IsAttachedTo
public function AActor::IsChildActor
public function AActor::IsRootComponentStatic
public function AActor::IsRootComponentStationary
public function AActor::RemoveInstanceComponent
public function AActor::SetRootComponent
public function AActor::AddOwnedComponent
public function AActor::CheckComponentInstanceName
public function AActor::CreateComponentFromTemplate
public function AActor::CreateComponentFromTemplateData
public function AActor::DestroyConstructedComponents
public function AActor::FinishAddComponent
public function AActor::FinishAndRegisterComponent
public function AActor::ForEachComponentOfActorClassDefault
public function AActor::GetActorClassDefaultComponent
public function AActor::GetActorClassDefaultComponentByName
public function AActor::GetActorClassDefaultComponents
public function AActor::HandleRegisterComponentWithWorld
public function AActor::HasActorRegisteredAllComponents
public function AActor::HasDeferredComponentRegistration
public function AActor::IncrementalRegisterComponents
public function AActor::OwnsComponent
public function AActor::PostUnregisterAllComponents
public function AActor::RemoveOwnedComponent
public function AActor::ReregisterAllComponents
public function AActor::ResetOwnedComponents
public function AActor::SetHasActorRegisteredAllComponents
public function AActor::FindComponentByInterface (IInterface template overload)
public function AActor::UnregisterAllComponents
public function AActor::UpdateComponentTransforms
Collision
29
Access Type Name
public function AActor::GetActorBounds
public function AActor::GetActorEnableCollision
public function AActor::IsOverlappingActor
public function AActor::NotifyActorBeginOverlap
public function AActor::NotifyActorEndOverlap
public function AActor::ReceiveActorBeginOverlap
public function AActor::ReceiveActorEndOverlap
public function AActor::ReceiveHit
public function AActor::ActorGetDistanceToCollision
public function AActor::ActorLineTraceSingle
public function AActor::AddActorLocalTransform
public function AActor::DisableComponentsSimulatePhysics
public function AActor::GetComponentsBoundingCylinder
public function AActor::GetComponentsCollisionResponseToChannel
public function AActor::GetOverlappingActors
public function AActor::GetOverlappingComponents
public function AActor::GetSimpleCollisionCylinder
public function AActor::GetSimpleCollisionCylinderExtent
public function AActor::GetSimpleCollisionHalfHeight
public function AActor::GetSimpleCollisionRadius
public function AActor::IsRootComponentCollisionRegistered
public function AActor::NotifyHit
public function AActor::SetActorEnableCollision
public function AActor::UpdateOverlaps
public function AActor::CanBeBaseForCharacter
public function AActor::ClearComponentOverlaps
public function AActor::DispatchBlockingHit
public function AActor::DispatchPhysicsCollisionHit
public function AActor::GetUpdateOverlapsMethodDuringLevelStreaming
Damage
6
Access Type Name
public function AActor::CanBeDamaged
protected function AActor::ReceiveAnyDamage
public function AActor::SetCanBeDamaged
protected function AActor::ReceivePointDamage
protected function AActor::ReceiveRadialDamage
public function AActor::GetCanBeDamagedPropertyName
Input
22
Access Type Name
public function AActor::DisableInput
public function AActor::EnableInput
public function AActor::GetInputAxisKeyValue
public function AActor::GetInputAxisValue
public function AActor::GetInputVectorAxisValue
public function AActor::NotifyActorBeginCursorOver
public function AActor::NotifyActorEndCursorOver
public function AActor::NotifyActorOnClicked
public function AActor::NotifyActorOnInputTouchBegin
public function AActor::NotifyActorOnInputTouchEnd
public function AActor::NotifyActorOnInputTouchEnter
public function AActor::NotifyActorOnInputTouchLeave
public function AActor::NotifyActorOnReleased
public function AActor::ReceiveActorBeginCursorOver
public function AActor::ReceiveActorEndCursorOver
public function AActor::ReceiveActorOnClicked
public function AActor::ReceiveActorOnInputTouchBegin
public function AActor::ReceiveActorOnInputTouchEnd
public function AActor::ReceiveActorOnInputTouchEnter
public function AActor::ReceiveActorOnInputTouchLeave
public function AActor::ReceiveActorOnReleased
public function AActor::CreateInputComponent
Networking
111
Access Type Name
public function AActor::AddActorComponentReplicatedSubObject
public function AActor::AddReplicatedSubObject
public function AActor::AllowActorComponentToReplicate
public function AActor::CallPreReplication
public function AActor::CallRemoteFunction
public function AActor::CanTriggerResimulation
public function AActor::CopyRemoteRoleFrom
public function AActor::DestroyNetworkActorHandled
public function AActor::DestroyReplicatedSubObjectOnRemotePeers
public function AActor::ExchangeNetRoles
public function AActor::FillReplicationParams
public function AActor::FlushNetDormancy
public function AActor::ForceNetRelevant
public function AActor::ForceNetUpdate
public function AActor::ForcePropertyCompare
public function AActor::GatherCurrentMovement
public function AActor::GetAttachmentReplication
public function AActor::GetFunctionCallspace
public function AActor::GetIsReplicated
public function AActor::GetLifetimeReplicatedProps
public function AActor::GetLocalRole
public function AActor::GetMinNetUpdateFrequency
public function AActor::GetNetConnection
public function AActor::GetNetCullDistanceSquared
public function AActor::GetNetDormancy
public function AActor::GetNetDriver
public function AActor::GetNetDriverName
public function AActor::GetNetMode
public function AActor::GetNetOwner
public function AActor::GetNetOwningPlayer
public function AActor::GetNetOwningPlayerAnyRole
public function AActor::GetNetPriority
public function AActor::GetNetUpdateFrequency
public function AActor::GetOwner
public function AActor::GetPhysicsReplicationMode
public function AActor::GetRemoteRole
public function AActor::GetReplayPriority
public function AActor::GetReplicatedComponents
public function AActor::GetReplicatedCustomConditionState
public function AActor::GetReplicatedMovement
public function AActor::GetReplicatedMovement_Mutable
public function AActor::GetReplicateMovementPropertyName
public function AActor::GetResimulationThreshold
public function AActor::GetRolePropertyName
public function AActor::GetTearOff
public function AActor::HasAuthority
public function AActor::HasLocalNetOwner
public function AActor::HasNetOwner
public function AActor::IsActorComponentReplicatedSubObjectRegistered
public function AActor::IsNameStableForNetworking
public function AActor::IsNetMode
public function AActor::IsNetRelevantFor
public function AActor::IsNetStartupActor
public function AActor::IsRelevancyOwnerFor
public function AActor::IsReplayRelevantFor
public function AActor::IsReplicatedActorComponentRegistered
public function AActor::IsReplicatedSubObjectRegistered
public function AActor::IsReplicatingMovement
public function AActor::IsSupportedForNetworking
public function AActor::IsUsingRegisteredSubObjectList
public function AActor::OnActorChannelOpen
public function AActor::OnNetCleanup
public function AActor::OnRep_AttachmentReplication
public function AActor::OnRep_Instigator
public function AActor::OnRep_ReplicatedMovement
public function AActor::OnRep_ReplicateMovement
public function AActor::OnSerializeNewActor
public function AActor::OnSubobjectCreatedFromReplication
public function AActor::OnSubobjectDestroyFromReplication
public function AActor::PostNetInit
public function AActor::PostNetReceive
public function AActor::PostNetReceiveLocationAndRotation
public function AActor::PostNetReceivePhysicState
public function AActor::PostNetReceiveRole
public function AActor::PostNetReceiveVelocity
public function AActor::PreNetReceive
public function AActor::PreReplication
public function AActor::PreReplicationForReplay
public function AActor::RegisterAsFocalPointInPhysicsReplicationLOD
public function AActor::RegisterReplicationFragments
public function AActor::RemoveActorComponentReplicatedSubObject
public function AActor::RemoveReplicatedSubObject
public function AActor::ReplicateSubobjects
public function AActor::RewindForReplay
public function AActor::SetActorIsPendingPostNetInit
public function AActor::SetAutonomousProxy
public function AActor::SetCallPreReplication
public function AActor::SetCallPreReplicationForReplay
public function AActor::SetFakeNetPhysicsState
public function AActor::SetMinNetUpdateFrequency
public function AActor::SetNetAddressable
public function AActor::SetNetCullDistanceSquared
public function AActor::SetNetDormancy
public function AActor::SetNetDriverName
public function AActor::SetNetUpdateFrequency
public function AActor::SetOwner
public function AActor::SetPhysicsReplicationMode
public function AActor::SetReplicatedComponentNetCondition
public function AActor::SetReplicatedMovement
public function AActor::SetReplicateMovement
public function AActor::SetReplicates
public function AActor::SetReplicatingMovement
public function AActor::SetRole
public function AActor::SwapRoles
public function AActor::TearOff
public function AActor::TearOffReplicatedSubObjectOnRemotePeers
public function AActor::TornOff
public function AActor::UnregisterAsFocalPointInPhysicsReplicationLOD
public function AActor::UpdateAllReplicatedComponents
public function AActor::UpdateReplicatedComponent
public function AActor::UseShortConnectTimeout
Rendering
18
Access Type Name
public function AActor::SetActorHiddenInGame
public function AActor::GetLastRenderTime
public function AActor::IsHidden
public function AActor::MarkComponentsRenderStateDirty
public function AActor::SetHidden
public function AActor::UpdateComponentVisibility
public function AActor::WasRecentlyRendered
public function AActor::GetHiddenPropertyName
public function AActor::GetHLODRelevantComponents
public function AActor::GetRayTracingGroupId
public function AActor::HasHLODRelevantComponents
public function AActor::InvalidateLightingCache
public function AActor::InvalidateLightingCacheDetailed
public function AActor::IsHLODRelevant
public function AActor::PostRenderFor
public function AActor::PrestreamTextures
public function AActor::SetLODParent
public function AActor::SetRayTracingGroupId
Audio
1
Access Type Name
public function AActor::SetMakeNoiseDelegate
Navigation
1
Access Type Name
public function AActor::IsComponentRelevantForNavigation
Tags
1
Access Type Name
public function AActor::ActorHasTag
Utility
72
Access Type Name
public function AActor::GetDebugName
public function AActor::GetGameInstance
public function AActor::GetHumanReadableName
public function AActor::GetWorld
public function AActor::GetWorldTimerManager
public function AActor::IsOwnedBy
public function AActor::BecomeViewTarget
public function AActor::CalculateComponentsBoundingBoxInLocalSpace
public function AActor::CheckStillInWorld
public function AActor::DebugShowComponentHierarchy
public function AActor::DrawDebugComponents
public function AActor::EndViewTarget
public function AActor::GetActorEyesViewPoint
public function AActor::GetActorNameOrLabel
public function AActor::GetActorTimeDilation
public function AActor::GetComponentsBoundingBox
public function AActor::GetInstigator
public function AActor::GetInstigatorController
public function AActor::GetLevel
public function AActor::GetPhysicsVolume
public function AActor::GetTargetLocation
public function AActor::GetWorldSettings
public function AActor::IsBasedOnActor
public function AActor::IsEditorOnly
public function AActor::IsInLevel
public function AActor::IsInPersistentLevel
public function AActor::IsMainPackageActor
public function AActor::K2_OnBecomeViewTarget
public function AActor::K2_OnEndViewTarget
public function AActor::SetInstigator
public function AActor::AddReferencedObjects
public function AActor::CalcCamera
public function AActor::CanBeInCluster
public function AActor::CheckDefaultSubobjectsInternal
public function AActor::ClearCrossLevelReferences
public function AActor::ContainsDataLayer
public function AActor::DebugShowOneComponentHierarchy
public function AActor::DisplayDebug
public function AActor::FindActorInPackage
public function AActor::GetActorLabelView
public function AActor::GetDataLayerInstances
public function AActor::GetExternalDataLayerAsset
public function AActor::GetInstigatorPropertyName
public function AActor::GetPlacementExtent
public function AActor::GetRootSelectionParent
public function AActor::GetSelectionParent
public function AActor::HasContentBundle
public function AActor::HasDataLayers
public function AActor::HasNonTrivialUserConstructionScript
public function AActor::IsActorOrSelectionParentSelected
public function AActor::IsAsset
public function AActor::IsEditorOnlyLoadedInPIE
public function AActor::IsLevelBoundsRelevant
public function AActor::IsMigrationRoot
public function AActor::IsRuntimeOnly
public function AActor::IsSelectionChild
public function AActor::IsSelectionParentOfAttachedActors
public function AActor::MakeNoiseImpl
public function AActor::MarkNeedsRecomputeBoundsOnceForGame
public function AActor::PostLoadSubobjects
public function AActor::PostMigrate
public function AActor::PostRename
public function AActor::PostSaveFromRoot
public function AActor::PostSaveRoot
public function AActor::PreDuplicateFromRoot
public function AActor::PreSave
public function AActor::PreSaveFromRoot
public function AActor::PreSaveRoot
public function AActor::ProcessEvent
public function AActor::PushSelectionToProxies
public function AActor::Rename
public function AActor::SupportsSubRootSelection
Actor
1
Access Type Name
public function AActor::GetComponentByClass
AI
1
Access Type Name
public function AActor::MakeNoise
Tick
11
Access Type Name
public function AActor::GetActorTickInterval
public function AActor::GetTickableWhenPaused
public function AActor::IsActorTickEnabled
public function AActor::SetActorTickEnabled
public function AActor::SetActorTickInterval
public function AActor::SetTickableWhenPaused
public function AActor::AddTickPrerequisiteActor
public function AActor::AddTickPrerequisiteComponent
public function AActor::RemoveTickPrerequisiteActor
public function AActor::RemoveTickPrerequisiteComponent
public function AActor::SetTickGroup
Transformation
4
Access Type Name
public function AActor::GetActorForwardVector
public function AActor::GetActorRightVector
public function AActor::GetActorUpVector
public function AActor::GetDistanceTo

Properties

Access Type Name
public property AActor::AutoReceiveInput
public property AActor::BlueprintCreatedComponents
public property AActor::Children
public property AActor::CustomTimeDilation
public property AActor::InitialLifeSpan
public property AActor::InputComponent
public property AActor::InputPriority
public property AActor::Layers
public property AActor::NetDormancy
public property AActor::NetPriority
public property AActor::NetTag
public property AActor::OnActorBeginOverlap
public property AActor::OnActorEndOverlap
public property AActor::OnActorHit
public property AActor::OnBeginCursorOver
public property AActor::OnClicked
public property AActor::OnDestroyed
public property AActor::OnEndCursorOver
public property AActor::OnEndPlay
public property AActor::OnInputTouchBegin
public property AActor::OnInputTouchEnd
public property AActor::OnInputTouchEnter
public property AActor::OnInputTouchLeave
public property AActor::OnReleased
public property AActor::OnTakeAnyDamage
public property AActor::OnTakePointDamage
public property AActor::OnTakeRadialDamage
public property AActor::Owner
public property AActor::PrimaryActorTick
public property AActor::SpawnCollisionHandlingMethod
public property AActor::Tags

Version History

Introduced in: 1.0

Version Status Notes
5.6 stable
5.5 stable

Feedback

Was this helpful?

Suggest an edit

Select a field above to begin editing.