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

#include <SoftObjectPtr.h>

+ Inheritance diagram for FSoftObjectPtr:

Public Member Functions

UE_FORCEINLINE_HINT FSoftObjectPtr ()=default
 
UE_FORCEINLINE_HINT FSoftObjectPtr (const FSoftObjectPtr &Other)=default
 
UE_FORCEINLINE_HINT FSoftObjectPtr (FSoftObjectPtr &&Other)=default
 
UE_FORCEINLINE_HINT ~FSoftObjectPtr ()=default
 
UE_FORCEINLINE_HINT FSoftObjectPtroperator= (const FSoftObjectPtr &Other)=default
 
UE_FORCEINLINE_HINT FSoftObjectPtroperator= (FSoftObjectPtr &&Other)=default
 
UE_FORCEINLINE_HINT FSoftObjectPtr (const FSoftObjectPath &ObjectPath)
 
UE_FORCEINLINE_HINT FSoftObjectPtr (FObjectPtr Object)
 
UE_FORCEINLINE_HINT FSoftObjectPtr (const UObject *Object)
 
template<typename T >
UE_FORCEINLINE_HINT FSoftObjectPtr (TObjectPtr< T > Object)
 
UObjectLoadSynchronous () const
 
UE_FORCEINLINE_HINT const FSoftObjectPathToSoftObjectPath () const
 
UE_FORCEINLINE_HINT FString ToString () const
 
UE_FORCEINLINE_HINT FString GetLongPackageName () const
 
UE_FORCEINLINE_HINT FName GetLongPackageFName () const
 
UE_FORCEINLINE_HINT FString GetAssetName () const
 
FSoftObjectPtroperator= (FObjectPtr Ptr)
 
UE_FORCEINLINE_HINT FSoftObjectPtroperator= (const UObject *Ptr)
 
template<typename T >
UE_FORCEINLINE_HINT FSoftObjectPtroperator= (TObjectPtr< T > Ptr)
 
- Public Member Functions inherited from TPersistentObjectPtr< FSoftObjectPath >
UE_FORCEINLINE_HINT TPersistentObjectPtr ()
 
 TPersistentObjectPtr (const FSoftObjectPath &InObjectID)
 
void Reset ()
 
UE_FORCEINLINE_HINT void ResetWeakPtr ()
 
void operator= (const FSoftObjectPath &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 FSoftObjectPathGetUniqueID () const
 
UE_FORCEINLINE_HINT FSoftObjectPathGetUniqueID ()
 
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
 

Additional Inherited Members

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

Detailed Description

FSoftObjectPtr is a type of weak pointer to a UObject, that also keeps track of the path to the object on disk. It will change back and forth between being Valid and Pending as the referenced object loads or unloads. It has no impact on if the object is garbage collected or not.

This is useful to specify assets that you may want to asynchronously load on demand.

Constructor & Destructor Documentation

◆ FSoftObjectPtr() [1/7]

UE_FORCEINLINE_HINT FSoftObjectPtr::FSoftObjectPtr ( )
default

◆ FSoftObjectPtr() [2/7]

UE_FORCEINLINE_HINT FSoftObjectPtr::FSoftObjectPtr ( const FSoftObjectPtr Other)
default

◆ FSoftObjectPtr() [3/7]

UE_FORCEINLINE_HINT FSoftObjectPtr::FSoftObjectPtr ( FSoftObjectPtr &&  Other)
default

◆ ~FSoftObjectPtr()

UE_FORCEINLINE_HINT FSoftObjectPtr::~FSoftObjectPtr ( )
default

◆ FSoftObjectPtr() [4/7]

UE_FORCEINLINE_HINT FSoftObjectPtr::FSoftObjectPtr ( const FSoftObjectPath ObjectPath)
inlineexplicit

◆ FSoftObjectPtr() [5/7]

UE_FORCEINLINE_HINT FSoftObjectPtr::FSoftObjectPtr ( FObjectPtr  Object)
inlineexplicit

◆ FSoftObjectPtr() [6/7]

UE_FORCEINLINE_HINT FSoftObjectPtr::FSoftObjectPtr ( const UObject Object)
inlineexplicit

◆ FSoftObjectPtr() [7/7]

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

Member Function Documentation

◆ GetAssetName()

UE_FORCEINLINE_HINT FString FSoftObjectPtr::GetAssetName ( ) const
inline

Returns assetname string, leaving off the /package/path. part

◆ GetLongPackageFName()

UE_FORCEINLINE_HINT FName FSoftObjectPtr::GetLongPackageFName ( ) const
inline

Returns /package/path name, leaving off the asset name

◆ GetLongPackageName()

UE_FORCEINLINE_HINT FString FSoftObjectPtr::GetLongPackageName ( ) const
inline

Returns /package/path string, leaving off the asset name

◆ LoadSynchronous()

UObject * FSoftObjectPtr::LoadSynchronous ( ) const
inline

Synchronously load (if necessary) and return the asset object represented by this asset ptr

◆ operator=() [1/5]

UE_FORCEINLINE_HINT FSoftObjectPtr & FSoftObjectPtr::operator= ( const FSoftObjectPtr Other)
default

◆ operator=() [2/5]

UE_FORCEINLINE_HINT FSoftObjectPtr & FSoftObjectPtr::operator= ( const UObject Ptr)
inline

◆ operator=() [3/5]

FSoftObjectPtr & FSoftObjectPtr::operator= ( FObjectPtr  Ptr)
inline

◆ operator=() [4/5]

UE_FORCEINLINE_HINT FSoftObjectPtr & FSoftObjectPtr::operator= ( FSoftObjectPtr &&  Other)
default

◆ operator=() [5/5]

template<typename T >
UE_FORCEINLINE_HINT FSoftObjectPtr & FSoftObjectPtr::operator= ( TObjectPtr< T >  Ptr)
inline

◆ ToSoftObjectPath()

UE_FORCEINLINE_HINT const FSoftObjectPath & FSoftObjectPtr::ToSoftObjectPath ( ) const
inline

Returns the StringObjectPath that is wrapped by this SoftObjectPtr

◆ ToString()

UE_FORCEINLINE_HINT FString FSoftObjectPtr::ToString ( ) const
inline

Returns string representation of reference, in form /package/path.assetname


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