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

#include <LazyObjectPtr.h>

+ Inheritance diagram for FLazyObjectPtr:

Public Member Functions

UE_FORCEINLINE_HINT FLazyObjectPtr ()
 
UE_FORCEINLINE_HINT FLazyObjectPtr (FObjectPtr Object)
 
UE_FORCEINLINE_HINT FLazyObjectPtr (const UObject *Object)
 
template<typename T >
UE_FORCEINLINE_HINT FLazyObjectPtr (TObjectPtr< T > Object)
 
UE_FORCEINLINE_HINT void operator= (FObjectPtr Object)
 
UE_FORCEINLINE_HINT void operator= (const UObject *Object)
 
template<typename T >
UE_FORCEINLINE_HINT void operator= (TObjectPtr< T > Object)
 
UE_FORCEINLINE_HINT void operator= (const FUniqueObjectGuid &InObjectID)
 
UE_FORCEINLINE_HINT void FixupForPIE (int32 PIEInstance)
 
- Public Member Functions inherited from TPersistentObjectPtr< FUniqueObjectGuid >
UE_FORCEINLINE_HINT TPersistentObjectPtr ()
 
 TPersistentObjectPtr (const FUniqueObjectGuid &InObjectID)
 
void Reset ()
 
UE_FORCEINLINE_HINT void ResetWeakPtr ()
 
void operator= (const FUniqueObjectGuid &InObjectID)
 
void operator= (FObjectPtr Object)
 
UE_FORCEINLINE_HINT void operator= (const UObject *Object)
 
UE_FORCEINLINE_HINT void operator= (TObjectPtr< T > Object)
 
void operator= (const FWeakObjectPtr &Other)
 
UE_FORCEINLINE_HINT const FUniqueObjectGuidGetUniqueID () const
 
UE_FORCEINLINE_HINT FUniqueObjectGuidGetUniqueID ()
 
UObjectGet () const
 
UObjectGet (bool bEvenIfPendingKill) const
 
UE_FORCEINLINE_HINT UObjectoperator* () const
 
UE_FORCEINLINE_HINT UObjectoperator-> () const
 
UE_FORCEINLINE_HINT bool operator== (const TPersistentObjectPtr &Rhs) const
 
UE_FORCEINLINE_HINT bool operator== (TYPE_OF_NULLPTR) const
 
UE_FORCEINLINE_HINT bool operator!= (const TPersistentObjectPtr &Rhs) const
 
UE_FORCEINLINE_HINT bool operator!= (TYPE_OF_NULLPTR) const
 
UE_FORCEINLINE_HINT bool IsPending () const
 
UE_FORCEINLINE_HINT bool IsValid () const
 
UE_FORCEINLINE_HINT bool IsStale () const
 
UE_FORCEINLINE_HINT bool IsNull () const
 

Static Public Member Functions

static COREUOBJECT_API void PossiblySerializeObjectGuid (UObject *Object, FStructuredArchive::FRecord Record)
 
static COREUOBJECT_API void ResetPIEFixups ()
 

Additional Inherited Members

- Public Types inherited from TPersistentObjectPtr< FUniqueObjectGuid >
using ElementType = FUniqueObjectGuid
 

Detailed Description

FLazyObjectPtr is a type of weak pointer to a UObject that uses a GUID created at save time. Objects will only have consistent GUIDs if they are referenced by a lazy pointer and then saved. It will change back and forth between being valid or pending as the referenced object loads or unloads. It has no impact on if the object is garbage collected or not. It can't be directly used across a network.

NOTE: Because this only stores a GUID, it does not know how to load the destination object and does not work with Play In Editor. This will be deprecated in a future engine version and new features should use FSoftObjectPtr instead.

Constructor & Destructor Documentation

◆ FLazyObjectPtr() [1/4]

UE_FORCEINLINE_HINT FLazyObjectPtr::FLazyObjectPtr ( )
inline

Default constructor, sets to null

◆ FLazyObjectPtr() [2/4]

UE_FORCEINLINE_HINT FLazyObjectPtr::FLazyObjectPtr ( FObjectPtr  Object)
inlineexplicit

Construct from object already in memory

◆ FLazyObjectPtr() [3/4]

UE_FORCEINLINE_HINT FLazyObjectPtr::FLazyObjectPtr ( const UObject Object)
inlineexplicit

◆ FLazyObjectPtr() [4/4]

template<typename T >
UE_FORCEINLINE_HINT FLazyObjectPtr::FLazyObjectPtr ( TObjectPtr< T >  Object)
inlineexplicit

Member Function Documentation

◆ FixupForPIE()

UE_FORCEINLINE_HINT void FLazyObjectPtr::FixupForPIE ( int32  PIEInstance)
inline

Fixes up this FLazyObjectPtr to target the right UID as set in PIEGuidMap, this only works for directly serialized pointers

◆ operator=() [1/4]

UE_FORCEINLINE_HINT void FLazyObjectPtr::operator= ( const FUniqueObjectGuid InObjectID)
inline

Copy from a unique object identifier

◆ operator=() [2/4]

UE_FORCEINLINE_HINT void FLazyObjectPtr::operator= ( const UObject Object)
inline

◆ operator=() [3/4]

UE_FORCEINLINE_HINT void FLazyObjectPtr::operator= ( FObjectPtr  Object)
inline

Copy from an object already in memory

◆ operator=() [4/4]

template<typename T >
UE_FORCEINLINE_HINT void FLazyObjectPtr::operator= ( TObjectPtr< T >  Object)
inline

◆ PossiblySerializeObjectGuid()

void FLazyObjectPtr::PossiblySerializeObjectGuid ( UObject Object,
FStructuredArchive::FRecord  Record 
)
static

Called by UObject::Serialize so that we can save / load the Guid possibly associated with an object

◆ ResetPIEFixups()

void FLazyObjectPtr::ResetPIEFixups ( )
static

Called when entering PIE to prepare it for PIE-specific fixups


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