UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SoftObjectPath.h File Reference
#include "Algo/Transform.h"
#include "Containers/Array.h"
#include "Containers/Set.h"
#include "Containers/StringFwd.h"
#include "Containers/StringOverload.h"
#include "Containers/StringView.h"
#include "Containers/Utf8String.h"
#include "Containers/UnrealString.h"
#include "CoreTypes.h"
#include "HAL/ThreadSafeCounter.h"
#include "HAL/ThreadSingleton.h"
#include "Misc/CString.h"
#include "Serialization/ArchiveUObject.h"
#include "Serialization/StructuredArchive.h"
#include "Templates/Function.h"
#include "Templates/TypeHash.h"
#include "Templates/UnrealTemplate.h"
#include "UObject/Class.h"
#include "UObject/NameTypes.h"
#include "UObject/Object.h"
#include "UObject/ObjectMacros.h"
#include "UObject/ObjectPtr.h"
#include "UObject/StructOpsTypeTraits.h"
#include "UObject/TopLevelAssetPath.h"
#include "UObject/UObjectGlobals.h"
#include "UObject/UObjectHash.h"
#include "SoftObjectPath.generated.h"

Go to the source code of this file.

Classes

struct  FSoftObjectPath
 
struct  TStructOpsTypeTraits< FSoftObjectPath >
 
struct  FSoftObjectPathFastLess
 
struct  FSoftObjectPathLexicalLess
 
struct  FSoftClassPath
 
struct  TStructOpsTypeTraits< FSoftClassPath >
 
class  FSoftObjectPathThreadContext
 
struct  FSoftObjectPathSerializationScope
 
struct  FFilePath
 
struct  FDirectoryPath
 
struct  FSoftObjectPathFixupArchive
 

Namespaces

namespace  UE
 
namespace  UE::SoftObjectPath
 
namespace  UE::SoftObjectPath::Private
 

Macros

#define UE_SOFTOBJECTPATH_FSTRING_DEPRECATED(Version, Message)   /*UE_DEPRECATED(Version, Message)*/
 

Enumerations

enum class  ESoftObjectPathCollectType : uint8 {
  NonPackage , PackageHeader , NeverCollect , EditorOnlyCollect ,
  AlwaysCollect
}
 
enum class  ESoftObjectPathSerializeType : uint8 { NeverSerialize , SkipSerializeIfArchiveHasSize , AlwaysSerialize }
 

Functions

 DECLARE_DELEGATE_TwoParams (FLoadSoftObjectPathAsyncDelegate, const FSoftObjectPath &, UObject *)
 
FStringBuilderBaseoperator<< (FStringBuilderBase &Builder, const FSoftObjectPath &Path)
 
FUtf8StringBuilderBaseoperator<< (FUtf8StringBuilderBase &Builder, const FSoftObjectPath &Path)
 
bool UE::SoftObjectPath::IsPackageType (ESoftObjectPathCollectType CollectType)
 
bool UE::SoftObjectPath::IsObjectType (ESoftObjectPathCollectType CollectType)
 
bool UE::SoftObjectPath::IsCollectable (ESoftObjectPathCollectType CollectType)
 
TArray< FNameUE::SoftObjectPath::Private::ConvertSoftObjectPaths (TConstArrayView< FSoftObjectPath > InPaths)
 
TArray< FSoftObjectPathUE::SoftObjectPath::Private::ConvertObjectPathNames (TConstArrayView< FName > InPaths)
 

Variables

constexpr auto FSoftObjectPath_DefaultPreFixupForPIEFunction = [](int32, FSoftObjectPath&) {}
 

Macro Definition Documentation

◆ UE_SOFTOBJECTPATH_FSTRING_DEPRECATED

#define UE_SOFTOBJECTPATH_FSTRING_DEPRECATED (   Version,
  Message 
)    /*UE_DEPRECATED(Version, Message)*/

Enumeration Type Documentation

◆ ESoftObjectPathCollectType

Options for how to set soft object path collection

Enumerator
NonPackage 

The SoftObjectPath being loaded is not in a package, so we do not need to record it in inclusion or exclusion lists, or translate redirects for it.

PackageHeader 

The SoftObjectPath being loaded is in a package header, not in an Object, so we do not need to record it in inclusion or exclusion lists, but we do need to translate redirects for it.

NeverCollect 

References is not tracked in any situation, transient reference

EditorOnlyCollect 

Editor only reference, this is tracked for redirector fixup but not for cooking

AlwaysCollect 

Game reference, this is gathered for both redirector fixup and cooking

◆ ESoftObjectPathSerializeType

Rules for actually serializing the internals of soft object paths

Enumerator
NeverSerialize 

Never serialize the raw names

SkipSerializeIfArchiveHasSize 

Only serialize if the archive has no size

AlwaysSerialize 

Always serialize the soft object path internals

Function Documentation

◆ DECLARE_DELEGATE_TwoParams()

DECLARE_DELEGATE_TwoParams ( FLoadSoftObjectPathAsyncDelegate  ,
const FSoftObjectPath ,
UObject  
)

Delegate called on completion of async loading a soft object. The UObject will be null if the load failed

◆ operator<<() [1/2]

FStringBuilderBase & operator<< ( FStringBuilderBase Builder,
const FSoftObjectPath Path 
)
inline

◆ operator<<() [2/2]

FUtf8StringBuilderBase & operator<< ( FUtf8StringBuilderBase Builder,
const FSoftObjectPath Path 
)
inline

Variable Documentation

◆ FSoftObjectPath_DefaultPreFixupForPIEFunction

constexpr auto FSoftObjectPath_DefaultPreFixupForPIEFunction = [](int32, FSoftObjectPath&) {}
inlineconstexpr