UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
AssetRegistry.cpp File Reference
#include "AssetRegistry.h"
#include "Algo/AnyOf.h"
#include "Algo/HeapSort.h"
#include "Algo/Transform.h"
#include "Algo/Unique.h"
#include "AssetDataGatherer.h"
#include "AssetDataGathererPrivate.h"
#include "AssetRegistry/ARFilter.h"
#include "AssetRegistry/AssetDependencyGatherer.h"
#include "AssetRegistry/AssetRegistryTelemetry.h"
#include "AssetRegistryConsoleCommands.h"
#include "AssetRegistryImpl.h"
#include "AssetRegistryPrivate.h"
#include "Async/Async.h"
#include "Async/ParallelFor.h"
#include "AutoRTFM.h"
#include "Blueprint/BlueprintSupport.h"
#include "DependsNode.h"
#include "GenericPlatform/GenericPlatformChunkInstall.h"
#include "GenericPlatform/GenericPlatformFile.h"
#include "GenericPlatform/GenericPlatformMisc.h"
#include "HAL/PlatformFileManager.h"
#include "HAL/PlatformMisc.h"
#include "HAL/ThreadHeartBeat.h"
#include "Interfaces/IPluginManager.h"
#include "IPlatformFilePak.h"
#include "Math/UnrealMathUtility.h"
#include "Misc/CommandLine.h"
#include "Misc/ConfigCacheIni.h"
#include "Misc/CoreDelegates.h"
#include "Misc/FileHelper.h"
#include "Misc/Optional.h"
#include "Misc/PackageAccessTracking.h"
#include "Misc/PackageAccessTrackingOps.h"
#include "Misc/PackageSegment.h"
#include "Misc/Paths.h"
#include "Misc/PathViews.h"
#include "Misc/RedirectCollector.h"
#include "Misc/ScopeExit.h"
#include "Misc/ScopeRWLock.h"
#include "Misc/TrackedActivity.h"
#include "Misc/TransactionallySafeRWLock.h"
#include "AssetRegistry/PackageReader.h"
#include "Modules/ModuleManager.h"
#include "ProfilingDebugging/MiscTrace.h"
#include "Serialization/ArrayReader.h"
#include "Serialization/CompactBinarySerialization.h"
#include "Serialization/CompactBinaryWriter.h"
#include "String/RemoveFrom.h"
#include "Tasks/Task.h"
#include "Templates/UnrealTemplate.h"
#include "TelemetryRouter.h"
#include "UObject/AssetRegistryTagsContext.h"
#include "UObject/ConstructorHelpers.h"
#include "UObject/CoreRedirects.h"
#include "UObject/MetaData.h"
#include "UObject/Object.h"
#include "UObject/SoftObjectPath.h"
#include "UObject/UObjectGlobals.h"
#include "UObject/UObjectHash.h"
#include "UObject/UObjectIterator.h"
#include "UObject/UObjectThreadContext.h"

Classes

class  FAssetRegistryInterface
 
class  UE::AssetRegistry::Premade::FPreloader
 
struct  UE::AssetRegistry::Impl::FInitializeContext
 
struct  UE::AssetRegistry::FSetManageReferencesNodeData
 
struct  UE::AssetRegistry::FSetManageReferencesScratch
 

Namespaces

namespace  UE
 
namespace  UE::AssetRegistry
 
namespace  UE::AssetRegistry::Impl
 
namespace  UE::AssetRegistry::Premade
 
namespace  UE::AssetRegistry::DependsNode
 
namespace  UE::AssetRegistry::Utils
 

Macros

#define UE_ENABLE_DIRECTORYWATCH_ROOTS   !UE_IS_COOKED_EDITOR
 
#define ASSETREGISTRY_CACHE_ALWAYS_ENABLED   (WITH_EDITOR)
 

Typedefs

using UE::AssetRegistry::FSetManageReferencesNodeDataMap = TMap< FDependsNode *, TUniquePtr< FSetManageReferencesNodeData > >
 

Enumerations

enum class  UE::AssetRegistry::Premade::ELoadResult : uint8 {
  UE::AssetRegistry::Premade::Succeeded = 0 , UE::AssetRegistry::Premade::NotFound = 1 , UE::AssetRegistry::Premade::FailedToLoad = 2 , UE::AssetRegistry::Premade::Inactive = 3 ,
  UE::AssetRegistry::Premade::AlreadyConsumed = 4 , UE::AssetRegistry::Premade::UninitializedMemberLoadResult = 5
}
 
enum class  UE::AssetRegistry::EManageSearchColor : uint8 { UE::AssetRegistry::CookRule = 0 , UE::AssetRegistry::Chunking = 1 , UE::AssetRegistry::Num }
 
enum class  UE::AssetRegistry::EManageSearchColorBit : uint32 { UE::AssetRegistry::None = 0 , UE::AssetRegistry::CookRule = (1 << static_cast<int32>(EManageSearchColor::CookRule)) , UE::AssetRegistry::Chunking = (1 << static_cast<int32>(EManageSearchColor::Chunking)) , UE::AssetRegistry::All = CookRule | Chunking }
 

Functions

FString UE::AssetRegistry::LexToString (EScanFlags Flags)
 
bool UE::AssetRegistry::Impl::IsDirectoryWatcherEnabled ()
 
 DEFINE_LOG_CATEGORY (LogAssetRegistry)
 
TArray< FString, TInlineAllocator< 2 > > UE::AssetRegistry::Premade::GetPriorityPaths ()
 
EChunkProgressReportingType::Type GetChunkAvailabilityProgressType (EAssetAvailabilityProgressReportingType::Type ReportType)
 
const TCHARGetDevelopmentAssetRegistryFilename ()
 
void UE::AssetRegistry::Utils::InitializeSerializationOptionsFromIni (FAssetRegistrySerializationOptions &Options, Impl::FFilterTagRules *OutRules, const ITargetPlatform *TargetPlatform, UE::AssetRegistry::ESerializationTarget Target, bool bSuppressWarnings)
 
void UE::AssetRegistry::Utils::UpdateSerializationOptions (FAssetRegistrySerializationOptions &InOutOptions, Impl::FFilterTagRules &InOutFilterRules, bool bSuppressWarnings)
 
TMap< FName, Impl::FParsedFilterTagRulesUE::AssetRegistry::Utils::ParseFilterTags (const TArray< FString > &FilterListItems, bool bIsFilteringDevelopmentAR, bool bUseAllowListInsteadOfDenyList)
 
bool UE::AssetRegistry::Utils::HasEngineModuleLoaded ()
 
TMap< FTopLevelAssetPath, TSet< FName > > UE::AssetRegistry::Utils::ResolveFilterTags (Impl::FFilterTagRules &InOutRules, bool bSuppressWarnings)
 
TOptional< FAssetDataTagMapUE::AssetRegistry::Utils::AddNonOverlappingTags (FAssetData &ExistingAssetData, const FAssetData &NewAssetData)
 
void UE::AssetRegistry::Utils::EnumerateMemoryAssetsHelper (const FARCompiledFilter &InFilter, TSet< FName > &OutPackageNamesWithAssets, bool &bOutStopIteration, TFunctionRef< bool(const UObject *Object, FAssetData &&PartialAssetData)> Callback, bool bSkipARFilteredAssets)
 
void UE::AssetRegistry::Utils::EnumerateMemoryAssets (const FARCompiledFilter &InFilter, TSet< FName > &OutPackageNamesWithAssets, bool &bOutStopIteration, UE::AssetRegistry::Private::FInterfaceRWLock &InterfaceLock, const FAssetRegistryState &GuardedDataState, TFunctionRef< bool(FAssetData &&)> Callback, bool bSkipARFilteredAssets)
 
void UE::AssetRegistry::Utils::EnumerateAllMemoryAssets (TSet< FName > &OutPackageNamesWithAssets, bool &bOutStopIteration, TFunctionRef< bool(FAssetData &&)> Callback)
 
bool UE::AssetRegistry::Utils::RunAssetThroughFilter (const FAssetData &AssetData, const FARCompiledFilter &Filter, const EFilterMode FilterMode)
 
bool UE::AssetRegistry::Utils::RunAssetThroughFilter_Unchecked (const FAssetData &AssetData, const FARCompiledFilter &Filter, const bool bPassFilterValue)
 
void UE::AssetRegistry::Utils::RunAssetsThroughFilter (TArray< FAssetData > &AssetDataList, const FARCompiledFilter &CompiledFilter, const EFilterMode FilterMode)
 
EAssetAvailability::Type UE::AssetRegistry::Utils::GetAssetAvailability (const FAssetData &AssetData)
 
float UE::AssetRegistry::Utils::GetAssetAvailabilityProgress (const FAssetData &AssetData, EAssetAvailabilityProgressReportingType::Type ReportType)
 
bool UE::AssetRegistry::Utils::GetAssetAvailabilityProgressTypeSupported (EAssetAvailabilityProgressReportingType::Type ReportType)
 
void UE::AssetRegistry::Utils::PrioritizeAssetInstall (const FAssetData &AssetData)
 
bool UE::AssetRegistry::Utils::ReadAssetFile (FPackageReader &PackageReader, IAssetRegistry::FLoadPackageRegistryData &InOutData)
 
void UE::AssetRegistry::Utils::InitializeMountPoints (TOptional< TSet< FString > > &MountPoints)
 
bool UE::AssetRegistry::Utils::IsPathMounted (const FString &Path, const TSet< FString > &MountPointsNoTrailingSlashes, FString &StringBuffer)
 
 UE::AssetRegistry::ENUM_CLASS_FLAGS (EManageSearchColorBit)
 
bool LoadFromCompactBinary (FCbFieldView Field, FAssetDependency &Dependency)
 
const FAssetDataUE::AssetRegistry::GetMostImportantAsset (TConstArrayView< const FAssetData * > PackageAssetDatas, EGetMostImportantAssetFlags InFlags)
 
void UE::AssetRegistry::GetAssetForPackages (TConstArrayView< FName > PackageNames, TMap< FName, FAssetData > &OutPackageToAssetData)
 
bool UE::AssetRegistry::ShouldSearchAllAssetsAtStart ()
 
FString UE::AssetRegistry::CreateStandardFilename (const FString &InPath)
 

Variables

const FName UE::AssetRegistry::WildcardFName (TEXT("*"))
 
const FTopLevelAssetPath UE::AssetRegistry::WildcardPathName (TEXT("/*"), TEXT("*"))
 
const FName UE::AssetRegistry::Stage_ChunkCountFName (TEXT("Stage_ChunkCount"))
 
const FName UE::AssetRegistry::Stage_ChunkSizeFName (TEXT("Stage_ChunkSize"))
 
const FName UE::AssetRegistry::Stage_ChunkCompressedSizeFName (TEXT("Stage_ChunkCompressedSize"))
 
const FName UE::AssetRegistry::Stage_ChunkInstalledSizeFName (TEXT("Stage_ChunkInstalledSize"))
 
const FName UE::AssetRegistry::Stage_ChunkStreamingSizeFName (TEXT("Stage_ChunkStreamingSize"))
 
const FName UE::AssetRegistry::Stage_ChunkOptionalSizeFName (TEXT("Stage_ChunkOptionalSize"))
 
constexpr float UE::AssetRegistry::Impl::MaxSecondsPerFrameToUseInBlockingInitialLoad = 5.0f
 
float UE::AssetRegistry::Impl::MaxSecondsPerFrame = 0.04f
 
float UE::AssetRegistry::Impl::MaxSecondsPerTickBackgroundThread = 0.1f
 
bool UE::AssetRegistry::Impl::bDeferDependencySort = false
 
bool UE::AssetRegistry::Impl::bDeferReferencerSort = true
 
bool UE::AssetRegistry::Impl::bDisableDirectoryWatcher = false
 
const FName UE::AssetRegistry::Impl::DestinationObjectFName (TEXT("DestinationObject"))
 
FAssetRegistryInterface GAssetRegistryInterface
 
class UE::AssetRegistry::Premade::FPreloader UE::AssetRegistry::Premade::GPreloader
 
constexpr int32 UE::AssetRegistry::ManageSearchColorsNum = static_cast<int32>(EManageSearchColor::Num)
 

Macro Definition Documentation

◆ ASSETREGISTRY_CACHE_ALWAYS_ENABLED

#define ASSETREGISTRY_CACHE_ALWAYS_ENABLED   (WITH_EDITOR)

◆ UE_ENABLE_DIRECTORYWATCH_ROOTS

#define UE_ENABLE_DIRECTORYWATCH_ROOTS   !UE_IS_COOKED_EDITOR

Function Documentation

◆ DEFINE_LOG_CATEGORY()

DEFINE_LOG_CATEGORY ( LogAssetRegistry  )

◆ GetChunkAvailabilityProgressType()

EChunkProgressReportingType::Type GetChunkAvailabilityProgressType ( EAssetAvailabilityProgressReportingType::Type  ReportType)

Returns the appropriate ChunkProgressReportingType for the given Asset enum

◆ GetDevelopmentAssetRegistryFilename()

const TCHAR * GetDevelopmentAssetRegistryFilename ( )

Returns the filename without filepath for the DevelopmentAssetRegistry written by the cooker.

◆ LoadFromCompactBinary()

bool LoadFromCompactBinary ( FCbFieldView  Field,
FAssetDependency Dependency 
)

Variable Documentation

◆ GAssetRegistryInterface

FAssetRegistryInterface GAssetRegistryInterface