UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::AssetRegistry::Private Namespace Reference

Classes

struct  FAssetPathParts
 
struct  FCachedAssetKey
 
struct  FCachedAssetKeyFuncs
 
class  FVersePathHelper
 
class  IAssetRegistrySingleton
 

Typedefs

using FInterfaceRWLock = FRWLockWithPriority
 
using FAssetDataMap = TSet< FAssetData *, FCachedAssetKeyFuncs >
 
using FConstAssetDataMap = TSet< const FAssetData *, FCachedAssetKeyFuncs >
 

Enumerations

enum class  EOptionalBool : uint8 { Unset , False , True , Max = EOptionalBool::True }
 

Functions

bool DecideIntersectionMethod (int32 PreviousSize, int32 FilterResultsSize, int32 FilterComplexity)
 
void ArrayIntersection (TArray< const FAssetData * > &InOutResults, TConstArrayView< TConstArrayView< const FAssetData * > > Matches, int32 TotalMatches)
 
template<class ArrayType , typename KeyType , typename CallbackType >
void FilterAssets (TArray< const FAssetData * > &InOutResults, const TMap< KeyType, ArrayType > &AccelerationMap, const TSet< KeyType > &Keys, CallbackType &&FunctionToKeepAsset, int32 FilterComplexity, const FAssetDataMap &CachedAssets)
 
template<typename CallbackType >
void FilterAssets (TArray< const FAssetData * > &InOutResults, const UE::AssetRegistry::Private::FAssetDataMap &AccelerationMap, const TSet< FSoftObjectPath > &Keys, CallbackType &&FunctionToKeepAsset, int32 FilterComplexity)
 
bool AssetDataMatchesTag (const FAssetData *AssetData, FName TagName, const TOptional< FString > &TagValue)
 
template<typename CallbackType , typename AccelerationMapType >
void FilterAssets (TArray< const FAssetData * > &InOutResults, const AccelerationMapType &AccelerationMap, const TMultiMap< FName, TOptional< FString > > &TagsAndValues, CallbackType &&FunctionToKeepAsset, int32 FilterComplexity, const FAssetDataMap &CachedAssets)
 
template<typename CallbackType >
void FilterAssetsByCachedClassesByTag (TArray< const FAssetData * > &InOutResults, const TMap< FName, TSet< FTopLevelAssetPath > > &CachedClassesByTag, const TMap< FTopLevelAssetPath, TArray< FAssetData * > > &CachedAssetsByClass, const TMultiMap< FName, TOptional< FString > > &TagsAndValues, CallbackType &&FunctionToKeepAsset, int32 FilterComplexity, const FAssetDataMap &CachedAssets)
 
FStringBuilderBaseoperator<< (FStringBuilderBase &Builder, const FCachedAssetKey &Key)
 
bool operator== (const FCachedAssetKey &A, const FCachedAssetKey &B)
 
bool operator!= (const FCachedAssetKey &A, const FCachedAssetKey &B)
 
uint32 GetTypeHash (const FCachedAssetKey &A)
 
uint32 HashCombineQuick (uint32 A, uint32 B)
 
FAssetPathParts SplitIntoOuterPathAndAssetName (FStringView InObjectPath)
 
void ConcatenateOuterPathAndObjectName (FStringBuilderBase &Builder, FName OuterPath, FName ObjectName)
 

Variables

class UE::AssetRegistry::Private::FVersePathHelper GVersePathHelper
 

Typedef Documentation

◆ FAssetDataMap

When not using indirection, an FAssetDataMap is a TSet, but with the complication that it stores pointers to FAssetData while supporting lookup by FCachedAssetKey.

See also
FCachedAssetKey.

◆ FConstAssetDataMap

◆ FInterfaceRWLock

Enumeration Type Documentation

◆ EOptionalBool

Enumerator
Unset 
False 
True 
Max 

Function Documentation

◆ ArrayIntersection()

void UE::AssetRegistry::Private::ArrayIntersection ( TArray< const FAssetData * > &  InOutResults,
TConstArrayView< TConstArrayView< const FAssetData * > >  Matches,
int32  TotalMatches 
)

◆ AssetDataMatchesTag()

bool UE::AssetRegistry::Private::AssetDataMatchesTag ( const FAssetData AssetData,
FName  TagName,
const TOptional< FString > &  TagValue 
)

◆ ConcatenateOuterPathAndObjectName()

COREUOBJECT_API void UE::AssetRegistry::Private::ConcatenateOuterPathAndObjectName ( FStringBuilderBase Builder,
FName  OuterPath,
FName  ObjectName 
)

Concatenates an existing object path with an inner object with the correct separator ('.' or ':'). Assumes the outer path already contains correct separators.

◆ DecideIntersectionMethod()

bool UE::AssetRegistry::Private::DecideIntersectionMethod ( int32  PreviousSize,
int32  FilterResultsSize,
int32  FilterComplexity 
)

◆ FilterAssets() [1/3]

void UE::AssetRegistry::Private::FilterAssets ( TArray< const FAssetData * > &  InOutResults,
const AccelerationMapType AccelerationMap,
const TMultiMap< FName, TOptional< FString > > &  TagsAndValues,
CallbackType &&  FunctionToKeepAsset,
int32  FilterComplexity,
const FAssetDataMap CachedAssets 
)

◆ FilterAssets() [2/3]

template<class ArrayType , typename KeyType , typename CallbackType >
void UE::AssetRegistry::Private::FilterAssets ( TArray< const FAssetData * > &  InOutResults,
const TMap< KeyType, ArrayType > &  AccelerationMap,
const TSet< KeyType > &  Keys,
CallbackType &&  FunctionToKeepAsset,
int32  FilterComplexity,
const FAssetDataMap CachedAssets 
)

◆ FilterAssets() [3/3]

template<typename CallbackType >
void UE::AssetRegistry::Private::FilterAssets ( TArray< const FAssetData * > &  InOutResults,
const UE::AssetRegistry::Private::FAssetDataMap AccelerationMap,
const TSet< FSoftObjectPath > &  Keys,
CallbackType &&  FunctionToKeepAsset,
int32  FilterComplexity 
)

◆ FilterAssetsByCachedClassesByTag()

template<typename CallbackType >
void UE::AssetRegistry::Private::FilterAssetsByCachedClassesByTag ( TArray< const FAssetData * > &  InOutResults,
const TMap< FName, TSet< FTopLevelAssetPath > > &  CachedClassesByTag,
const TMap< FTopLevelAssetPath, TArray< FAssetData * > > &  CachedAssetsByClass,
const TMultiMap< FName, TOptional< FString > > &  TagsAndValues,
CallbackType &&  FunctionToKeepAsset,
int32  FilterComplexity,
const FAssetDataMap CachedAssets 
)

◆ GetTypeHash()

uint32 UE::AssetRegistry::Private::GetTypeHash ( const FCachedAssetKey A)
inline

◆ HashCombineQuick()

uint32 UE::AssetRegistry::Private::HashCombineQuick ( uint32  A,
uint32  B 
)
inline

◆ operator!=()

bool UE::AssetRegistry::Private::operator!= ( const FCachedAssetKey A,
const FCachedAssetKey B 
)
inline

◆ operator<<()

FStringBuilderBase & UE::AssetRegistry::Private::operator<< ( FStringBuilderBase Builder,
const FCachedAssetKey Key 
)
inline

◆ operator==()

bool UE::AssetRegistry::Private::operator== ( const FCachedAssetKey A,
const FCachedAssetKey B 
)
inline

◆ SplitIntoOuterPathAndAssetName()

COREUOBJECT_API FAssetPathParts UE::AssetRegistry::Private::SplitIntoOuterPathAndAssetName ( FStringView  InObjectPath)

Split a full object path into the path of the innermost object's outer and the name of that object. E.g. splits /Path/To/PackageName.AssetName:SubObject.Innermost into /Path/To/PackageName.AssetName:SubObject and Innermost

Variable Documentation

◆ GVersePathHelper

class UE::AssetRegistry::Private::FVersePathHelper UE::AssetRegistry::Private::GVersePathHelper