UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FActorInstanceHandle Struct Reference

#include <ActorInstanceHandle.h>

Public Member Functions

 FActorInstanceHandle ()=default
 
ENGINE_API FActorInstanceHandle (AActor *InActor)
 
ENGINE_API FActorInstanceHandle (const UPrimitiveComponent *RelevantComponent, int32 CollisionInstanceIndex)
 
ENGINE_API FActorInstanceHandle (AActor *InActor, const UPrimitiveComponent *RelevantComponent, int32 CollisionInstanceIndex)
 
ENGINE_API FActorInstanceHandle (FActorInstanceManagerInterface InManagerInterface, int32 InstanceIndex)
 
ENGINE_API FActorInstanceHandle (const FActorInstanceHandle &Other)
 
ENGINE_API bool IsValid () const
 
ENGINE_API bool IsUnresolvedDehydratedActor () const
 
ENGINE_API bool DoesRepresentClass (const UClass *OtherClass) const
 
template<typename T >
bool DoesRepresent () const
 
ENGINE_API UClassGetRepresentedClass () const
 
ENGINE_API ULevelGetLevel () const
 
ENGINE_API FVector GetLocation () const
 
ENGINE_API FRotator GetRotation () const
 
ENGINE_API FTransform GetTransform () const
 
ENGINE_API FName GetFName () const
 
ENGINE_API FString GetName () const
 
ENGINE_API AActorGetManagingActor () const
 
ENGINE_API USceneComponent * GetRootComponent () const
 
ENGINE_API AActorFetchActor () const
 
template<typename T >
T * FetchActor () const
 
ENGINE_API AActorGetCachedActor () const
 
ENGINE_API void SetCachedActor (AActor *InActor) const
 
int32 GetInstanceIndex () const
 
FActorInstanceHandleoperator= (const FActorInstanceHandle &Other)=default
 
FActorInstanceHandleoperator= (FActorInstanceHandle &&Other)=default
 
ENGINE_API FActorInstanceHandleoperator= (AActor *OtherActor)
 
ENGINE_API bool operator== (const FActorInstanceHandle &Other) const
 
ENGINE_API bool operator!= (const FActorInstanceHandle &Other) const
 
ENGINE_API bool operator== (const AActor *OtherActor) const
 
ENGINE_API bool operator!= (const AActor *OtherActor) const
 
 operator bool () const
 
FActorInstanceManagerInterface GetManagerInterface () const
 
template<typename T >
T * GetManager () const
 

Static Public Member Functions

static ENGINE_API FActorInstanceHandle MakeDehydratedActorHandle (UObject &Manager, int32 InInstanceIndex)
 
static ENGINE_API FActorInstanceHandle MakeActorHandleToResolve (const TWeakObjectPtr< UPrimitiveComponent > &WeakComponent, int32 CollisionInstanceIndex)
 

Friends

struct FActorInstanceHandleInternalHelper
 
ENGINE_API uint32 GetTypeHash (const FActorInstanceHandle &Handle)
 
ENGINE_API FArchiveoperator<< (FArchive &Ar, FActorInstanceHandle &Handle)
 

Detailed Description

Handle to a unique object. This may specify a full weigh actor or it may only specify the actor instance that represents the same object.

Note
The handle has game thread constraints related to UObjects and should be used carefully from other threads.

Can only be used on the game thread

  • all constructors
  • all getters (GetXYZ, FetchActor, IsActorValid, DoesRepresent) *
  • comparison operators against live AActor pointer

Can be used on any thread

  • MakeActorHandleToResolve to create a handle that will be lazily resolved on the game thread since it only stores a weak object ptr without any access to the live object
  • handle validity and comparison operators against another handle (i.e. IsValid(), operator==|!=(const FActorInstanceHandle& Other))

Constructor & Destructor Documentation

◆ FActorInstanceHandle() [1/6]

FActorInstanceHandle::FActorInstanceHandle ( )
default

◆ FActorInstanceHandle() [2/6]

FActorInstanceHandle::FActorInstanceHandle ( AActor InActor)
explicit

◆ FActorInstanceHandle() [3/6]

FActorInstanceHandle::FActorInstanceHandle ( const UPrimitiveComponent *  RelevantComponent,
int32  CollisionInstanceIndex 
)

◆ FActorInstanceHandle() [4/6]

FActorInstanceHandle::FActorInstanceHandle ( AActor InActor,
const UPrimitiveComponent *  RelevantComponent,
int32  CollisionInstanceIndex 
)

◆ FActorInstanceHandle() [5/6]

FActorInstanceHandle::FActorInstanceHandle ( FActorInstanceManagerInterface  InManagerInterface,
int32  InstanceIndex 
)

◆ FActorInstanceHandle() [6/6]

FActorInstanceHandle::FActorInstanceHandle ( const FActorInstanceHandle Other)

Member Function Documentation

◆ DoesRepresent()

template<typename T >
bool FActorInstanceHandle::DoesRepresent ( ) const

◆ DoesRepresentClass()

bool FActorInstanceHandle::DoesRepresentClass ( const UClass OtherClass) const

◆ FetchActor() [1/2]

AActor * FActorInstanceHandle::FetchActor ( ) const

Returns the actor specified by this handle. This may require loading and creating the actor object.

◆ FetchActor() [2/2]

template<typename T >
T * FActorInstanceHandle::FetchActor ( ) const

◆ GetCachedActor()

AActor * FActorInstanceHandle::GetCachedActor ( ) const

◆ GetFName()

FName FActorInstanceHandle::GetFName ( ) const

◆ GetInstanceIndex()

int32 FActorInstanceHandle::GetInstanceIndex ( ) const
inline

◆ GetLevel()

ULevel * FActorInstanceHandle::GetLevel ( ) const

◆ GetLocation()

FVector FActorInstanceHandle::GetLocation ( ) const

◆ GetManager()

template<typename T >
T * FActorInstanceHandle::GetManager ( ) const
inline

◆ GetManagerInterface()

FActorInstanceManagerInterface FActorInstanceHandle::GetManagerInterface ( ) const
inline

◆ GetManagingActor()

AActor * FActorInstanceHandle::GetManagingActor ( ) const

If this handle has a valid actor, return it; otherwise return the actor responsible for managing the instances.

◆ GetName()

FString FActorInstanceHandle::GetName ( ) const

◆ GetRepresentedClass()

UClass * FActorInstanceHandle::GetRepresentedClass ( ) const

◆ GetRootComponent()

USceneComponent * FActorInstanceHandle::GetRootComponent ( ) const

Returns either the actor's root component or the root component for the manager associated with the handle

◆ GetRotation()

FRotator FActorInstanceHandle::GetRotation ( ) const

◆ GetTransform()

FTransform FActorInstanceHandle::GetTransform ( ) const

◆ IsUnresolvedDehydratedActor()

bool FActorInstanceHandle::IsUnresolvedDehydratedActor ( ) const

◆ IsValid()

bool FActorInstanceHandle::IsValid ( ) const

◆ MakeActorHandleToResolve()

FActorInstanceHandle FActorInstanceHandle::MakeActorHandleToResolve ( const TWeakObjectPtr< UPrimitiveComponent > &  WeakComponent,
int32  CollisionInstanceIndex 
)
static

A path dedicated to creation of handles from any threads. This path marks the handle as need resolving once it gets accessed from the game thread.

◆ MakeDehydratedActorHandle()

FActorInstanceHandle FActorInstanceHandle::MakeDehydratedActorHandle ( UObject Manager,
int32  InInstanceIndex 
)
static

A path dedicated to creation of handles while converting actor to a dehydrated representation. This path ensures an actor won't be spawned as a side effect of looking for the actor given Manager/Index represents

◆ operator bool()

FActorInstanceHandle::operator bool ( ) const
inlineexplicit

◆ operator!=() [1/2]

bool FActorInstanceHandle::operator!= ( const AActor OtherActor) const

◆ operator!=() [2/2]

bool FActorInstanceHandle::operator!= ( const FActorInstanceHandle Other) const

◆ operator=() [1/3]

FActorInstanceHandle & FActorInstanceHandle::operator= ( AActor OtherActor)

◆ operator=() [2/3]

FActorInstanceHandle & FActorInstanceHandle::operator= ( const FActorInstanceHandle Other)
default

◆ operator=() [3/3]

FActorInstanceHandle & FActorInstanceHandle::operator= ( FActorInstanceHandle &&  Other)
default

◆ operator==() [1/2]

bool FActorInstanceHandle::operator== ( const AActor OtherActor) const

◆ operator==() [2/2]

bool FActorInstanceHandle::operator== ( const FActorInstanceHandle Other) const

◆ SetCachedActor()

void FActorInstanceHandle::SetCachedActor ( AActor InActor) const

Friends And Related Symbol Documentation

◆ FActorInstanceHandleInternalHelper

◆ GetTypeHash

ENGINE_API uint32 GetTypeHash ( const FActorInstanceHandle Handle)
friend

◆ operator<<

ENGINE_API FArchive & operator<< ( FArchive Ar,
FActorInstanceHandle Handle 
)
friend

The documentation for this struct was generated from the following files: