11#include "Containers/Map.h"
12#include "Containers/Set.h"
15#include "Misc/Optional.h"
26#ifdef ASSETREGISTRY_ENABLE_PREMADE_REGISTRY_IN_EDITOR
27#error "Please use ASSETREGISTRY_FORCE_PREMADE_REGISTRY_IN_EDITOR instead of ASSETREGISTRY_ENABLE_PREMADE_REGISTRY_IN_EDITOR"
30#ifndef ASSETREGISTRY_FORCE_PREMADE_REGISTRY_IN_EDITOR
31#define ASSETREGISTRY_FORCE_PREMADE_REGISTRY_IN_EDITOR 0
51namespace UE::AssetRegistry {
template <
typename TScopeLockType>
class TRWScopeLockWithPriority; }
86 int32 ReferenceCount = 0;
88 FEvent* Consumed =
nullptr;
99class FRWLockWithPriority
122 bool HasWaiters()
const
127 Result = HighPriorityWaitersCount.load(std::memory_order_relaxed) > 0;
137 std::atomic<int32> HighPriorityWaitersCount;
140enum ELockPriority :
uint8
160 Counter->fetch_add(1, std::memory_order_relaxed);
162 AutoRTFM::PushOnAbortHandler(
this, [
this]
164 Counter->fetch_sub(1, std::memory_order_relaxed);
175 Counter->fetch_sub(1, std::memory_order_relaxed);
177 AutoRTFM::PopOnAbortHandler(
this);
182 std::atomic<int32>* Counter =
nullptr;
194 Private::ELockPriority
InPriority = Private::PriorityHigh)
203 UE::AssetRegistry::Private::FRWLockWithPriority&
Lock;
204 UE::AssetRegistry::Private::ELockPriority
Priority;
237 Private::FRWLockWithPriority&
Lock;
302 , EarlyExitCallback(Callback) {}
311 MaxRunningTime = -1.;
326 double TickStartTime = -1.;
328 double MaxRunningTime = -1.;
332 bool OutInterrupted =
false;
410 bool HasAssets(
const FName PackagePath,
const bool bRecursive)
const;
515 bool bUpdateDiskCacheAfterLoad);
611 void RequestPauseBackgroundProcessing();
612 void RequestResumeBackgroundProcessing();
613 bool IsBackgroundProcessingPaused()
const;
620 IAssetRegistry::FAssetCollisionEvent AssetCollisionEvent;
623 template<
typename TScopeLock>
630 void EnumerateAssetsByPathNoTags(
FName PackagePath,
636 void ReadScriptPackages();
640 bool TryConstructGathererIfNeeded();
655 bool ShouldSkipGatheredAsset(
FAssetData& AssetData);
732 void UpdatePersistentMountPoints();
740 bool ClassRequiresGameThreadProcessing(
const UClass*
Class)
const;
749 void UpdateMaxSecondsPerFrame();
773 Impl::FFilterTagRules CachedParsedFilterRules;
776 bool bIsTempCachingEnabled;
779 bool bIsTempCachingAlwaysEnabled;
782 Impl::FClassInheritanceBuffer TempCachedInheritanceBuffer;
784 uint64 SavedGeneratorClassesVersionNumber;
785 uint64 SavedAllClassesVersionNumber;
805 std::atomic<bool> bGameThreadRequestedClassesShouldRetry{
false };
806 std::atomic<bool> bGameThreadRequestedClassesShouldProcess{
false };
820 float StoreGatherResultsTimeSeconds;
822 int32 HighestPending = 0;
825 double InitialSearchStartTime = 0.0f;
827 double AdditionalMountSearchStartTime = 0.0f;
829 bool bInitialSearchStarted =
false;
831 bool bInitializationComplete =
false;
835 std::atomic<bool> bInitialSearchCompleted;
839 std::atomic<bool> bAdditionalMountSearchInProgress;
844 bool bPreloadingComplete =
false;
854 bool bVerifyMountPointAfterGather;
857 bool bSearchAllAssets;
859 bool bVerboseLogging;
861 bool bForceCompletionEvenIfClassNotLoaded =
false;
862 bool bForceCompletionEvenIfNotOnGameThread =
false;
863 bool bProcessedAnyAssetsAfterRetryDeferred =
true;
864 float MaxSecondsPerFrame = 0.04f;
869 struct FAssetRegistryPackageRedirect
876 FString SourcePackageName;
877 FString DestPackageName;
917#if WITH_ENGINE && WITH_EDITOR
1225inline uint32& FAssetRegistryImpl::GetBackgroundTickInterruptionsCount()
FORCEINLINE bool IsTickActive(UE::AssetRegistry::Impl::EGatherStatus Status)
Definition AssetRegistryImpl.h:378
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE::FPlatformRecursiveMutex FCriticalSection
Definition CriticalSection.h:53
const bool
Definition NetworkReplayStreaming.h:178
#define MAX_uint64
Definition NumericLimits.h:22
FRWScopeLockType
Definition ScopeRWLock.h:137
@ SLT_ReadOnly
Definition ScopeRWLock.h:138
@ SLT_Write
Definition ScopeRWLock.h:139
Definition Archive.h:1208
Definition AssetDataGatherer.h:175
Definition AssetRegistryState.h:158
Definition DependsNode.h:16
Definition NameTypes.h:617
Definition PackageReader.h:20
Definition ArrayView.h:139
Definition AssetRegistryState.h:50
Definition AndroidPlatformMisc.h:14
Definition UnrealString.h.inl:34
Definition RingBuffer.h:135
Definition UniquePtr.h:107
Definition AssetRegistry.h:21
Definition AssetRegistryImpl.h:394
void SetTemporaryCachingMode(bool bEnable)
Definition AssetRegistry.cpp:9416
void AddEmptyPackage(FName PackageName)
Definition AssetRegistry.cpp:8090
void LogSearchDiagnostics(double StartTime)
Definition AssetRegistry.cpp:6060
void CompileFilter(Impl::FClassInheritanceContext &InheritanceContext, const FARFilter &InFilter, FARCompiledFilter &OutCompiledFilter) const
Definition AssetRegistry.cpp:4233
bool HasAssets(const FName PackagePath, const bool bRecursive) const
Definition AssetRegistry.cpp:2617
void TickGatherPackage(UE::AssetRegistry::FInterfaceWriteScopeLock &ScopeLock, Impl::FEventContext &EventContext, const FString &PackageName, const FString &LocalPath)
Definition AssetRegistry.cpp:6106
Impl::FClassInheritanceBuffer & GetTempCachedInheritanceBuffer()
Definition AssetRegistryImpl.h:573
void SetGameThreadTakeOverGatherEachTick(bool bValue)
void SetPerformanceMode(Impl::EPerformanceMode NewMode)
Definition AssetRegistry.cpp:2249
const FAssetRegistryState & GetState() const
Definition AssetRegistry.cpp:10459
bool AddPath(Impl::FEventContext &EventContext, FStringView PathToAdd)
Definition AssetRegistry.cpp:4537
bool IsGameThreadTakeOverGatherEachTick() const
void SetManageReferences(FSetManageReferencesContext &Context)
Definition AssetRegistry.cpp:10006
Impl::EPerformanceMode GetPerformanceMode() const
Definition AssetRegistryImpl.h:583
bool AddAssetPath(Impl::FEventContext &EventContext, FName PathToAdd)
Definition AssetRegistry.cpp:8100
void RemoveVerseFile(Impl::FEventContext &EventContext, FName VerseFilePathToRemove)
Definition AssetRegistry.cpp:8445
void ConditionalRetryGatherAssetsForGameThread(Impl::FTickContext &TickContext)
Definition AssetRegistry.cpp:5672
bool ShouldSkipAsset(FTopLevelAssetPath AssetClass, uint32 PackageFlags) const
Definition AssetRegistry.cpp:10474
void ConditionalClearGameThreadRequestedClasses(Impl::FTickContext &TickContext)
Definition AssetRegistry.cpp:5689
void ProcessGameThreadRequestedClasses()
Definition AssetRegistry.cpp:5640
bool IsAdditionalMountSearchInProgress() const
Definition AssetRegistryImpl.h:571
bool IsInitialSearchStarted() const
Definition AssetRegistryImpl.h:570
static uint64 GetCurrentAllClassesVersionNumber()
Definition AssetRegistry.cpp:1982
bool IsTempCachingAlwaysEnabled() const
Definition AssetRegistryImpl.h:569
void AppendState(Impl::FEventContext &EventContext, const FAssetRegistryState &InState, FAssetRegistryState::EInitializationMode Mode=FAssetRegistryState::EInitializationMode::Append, bool bEmitAssetEvents=false)
Definition AssetRegistry.cpp:6445
bool ShouldSortDependencies() const
Definition AssetRegistry.cpp:2268
void CollectCodeGeneratorClasses()
Definition AssetRegistry.cpp:1987
FSoftObjectPath GetAndScanRedirectedObjectPath(FInterfaceWriteScopeLock &ScopeLock, const FSoftObjectPath &ObjectPath, UE::AssetRegistry::Impl::FEventContext *EventContext, UE::AssetRegistry::Impl::FClassInheritanceContext *InheritanceContext)
Definition AssetRegistry.cpp:3778
Impl::EGatherStatus TickGatherer(Impl::FTickContext &TickContext)
Definition AssetRegistry.cpp:5351
void ScanPathsSynchronous(FInterfaceWriteScopeLock *ScopeLock, Impl::FScanPathContext &Context)
Definition AssetRegistry.cpp:6839
bool IsLoadingAssets() const
Definition AssetRegistry.cpp:5021
const FPathTree & GetCachedPathTree() const
Definition AssetRegistry.cpp:10464
bool ResolveRedirect(const FString &InPackageName, FString &OutPackageName) const
Definition AssetRegistry.cpp:1372
bool IsInitialSearchCompleted() const
Definition AssetRegistryImpl.h:567
bool ShouldSortReferencers() const
Definition AssetRegistry.cpp:2274
void CopySerializationOptions(FAssetRegistrySerializationOptions &OutOptions, ESerializationTarget Target) const
Definition AssetRegistry.cpp:1538
void OnPluginLoadingComplete(bool bPhaseSuccessful)
Definition AssetRegistry.cpp:1470
bool SetPrimaryAssetIdForObjectPath(Impl::FEventContext &EventContext, const FSoftObjectPath &ObjectPath, FPrimaryAssetId PrimaryAssetId)
Definition AssetRegistry.cpp:10349
bool IsGathering() const
Definition AssetRegistry.cpp:5026
void WaitForGathererIdleIfSynchronous()
Definition AssetRegistry.cpp:5293
void EnumerateDiskAssets(const FARCompiledFilter &InFilter, TSet< FName > &PackagesToSkip, TFunctionRef< bool(const FAssetData &)> Callback, UE::AssetRegistry::EEnumerateAssetsFlags InEnumerateFlags) const
Definition AssetRegistry.cpp:3169
bool RemoveEmptyPackage(FName PackageName)
Definition AssetRegistry.cpp:8095
void PrioritizeSearchPath(const FString &PathToPrioritize)
Definition AssetRegistry.cpp:4702
void OnContentPathDismounted(Impl::FEventContext &EventContext, const FString &InAssetPath, const FString &AssetPathNoTrailingSlash, const FString &FileSystemPath)
Definition AssetRegistry.cpp:9333
void GetSubClasses(Impl::FClassInheritanceContext &InheritanceContext, const TArray< FTopLevelAssetPath > &InClassNames, const TSet< FTopLevelAssetPath > &ExcludedClassNames, TSet< FTopLevelAssetPath > &SubClassNames) const
Definition AssetRegistry.cpp:9733
void WaitForGathererIdle(float TimeoutSeconds)
Definition AssetRegistry.cpp:5301
IAssetRegistry::FAssetCollisionEvent & OnAssetCollision_Private()
Definition AssetRegistry.cpp:1184
void SearchAllAssets(Impl::FEventContext &EventContext, Impl::FClassInheritanceContext &InheritanceContext, bool bSynchronousSearch)
Definition AssetRegistry.cpp:2331
bool IsTempCachingEnabled() const
Definition AssetRegistryImpl.h:568
bool GetVerseFilesByPath(FName PackagePath, TArray< FName > *OutFilePaths, bool bRecursive) const
Definition AssetRegistry.cpp:4489
void SetTemporaryCachingModeInvalidated()
Definition AssetRegistry.cpp:9444
uint64 GetSavedGeneratorClassesVersionNumber() const
Definition AssetRegistryImpl.h:574
void ScanModifiedAssetFiles(FInterfaceWriteScopeLock &ScopeLock, Impl::FEventContext &EventContext, Impl::FClassInheritanceContext &InheritanceContext, const TArray< FString > &InFilePaths, UE::AssetRegistry::EScanFlags ScanFlags)
Definition AssetRegistry.cpp:9105
bool IsSearchAllAssets() const
Definition AssetRegistryImpl.h:572
void OnContentPathMounted(UE::AssetRegistry::FInterfaceWriteScopeLock &ScopeLock, Impl::FEventContext &EventContext, Impl::FClassInheritanceContext &InheritanceContext, const FString &InAssetPath, const FString &AssetPathWithTrailingSlash, const FString &FileSystemPath)
Definition AssetRegistry.cpp:9243
void RefreshNativeClasses()
Definition AssetRegistry.cpp:2068
bool HasSerializedDiscoveryCache() const
Definition AssetRegistry.cpp:5031
void RemovePackageData(Impl::FEventContext &EventContext, const FName PackageName)
Definition AssetRegistry.cpp:8381
FAssetRegistryImpl()
Definition AssetRegistry.cpp:958
static uint64 GetCurrentGeneratorClassesVersionNumber()
Definition AssetRegistry.cpp:1974
void AddVerseFile(Impl::FEventContext &EventContext, FName VerseFilePathToAdd)
Definition AssetRegistry.cpp:8428
void RequestGameThreadProcessClass(const FTopLevelAssetPath &RequestedGameThreadClass)
Definition AssetRegistry.cpp:5700
void EnumerateAllDiskAssets(TSet< FName > &PackageNamesToSkip, TFunctionRef< bool(const FAssetData &)> Callback, UE::AssetRegistry::EEnumerateAssetsFlags InEnumerateFlags=UE::AssetRegistry::EEnumerateAssetsFlags::None) const
Definition AssetRegistry.cpp:3389
void ClearGathererCache()
Definition AssetRegistry.cpp:2571
bool GetAncestorClassNames(Impl::FClassInheritanceContext &InheritanceContext, FTopLevelAssetPath ClassName, TArray< FTopLevelAssetPath > &OutAncestorClassNames) const
Definition AssetRegistry.cpp:3905
FSoftObjectPath GetRedirectedObjectPath(FInterfaceReadScopeLock &ScopeLock, const FSoftObjectPath &ObjectPath)
Definition AssetRegistry.cpp:3773
void GetAllocatedSize(bool bLogDetailed, SIZE_T &StateSize, SIZE_T &StaticSize, SIZE_T &SearchSize) const
Definition AssetRegistry.cpp:6551
uint64 GetSavedAllClassesVersionNumber() const
Definition AssetRegistryImpl.h:575
bool RemoveAssetPath(Impl::FEventContext &EventContext, FName PathToRemove, bool bEvenIfAssetsStillExist=false)
Definition AssetRegistry.cpp:8108
const TSet< FName > & GetCachedEmptyPackages() const
Definition AssetRegistry.cpp:10469
void ConditionalLoadPremadeAssetRegistry(UE::AssetRegistry::FInterfaceWriteScopeLock &ScopeLock, UE::AssetRegistry::Impl::FEventContext &EventContext)
Definition AssetRegistry.cpp:793
Definition AssetRegistryImpl.h:208
UE_NODISCARD_CTOR FRWScopeLockWithPriority(Private::FRWLockWithPriority &InLockObject, FRWScopeLockType InLockType, Private::ELockPriority InPriority=Private::PriorityHigh)
Definition AssetRegistryImpl.h:210
Private::ELockPriority Priority
Definition AssetRegistryImpl.h:239
void ReleaseReadOnlyLockAndAcquireWriteLock_USE_WITH_CAUTION()
Definition AssetRegistryImpl.h:224
FRWScopeLockType LockType
Definition AssetRegistryImpl.h:240
Private::FRWLockWithPriority & Lock
Definition AssetRegistryImpl.h:237
TOptional< TRWScopeLock< Private::FRWLockWithPriority > > GuardWrapper
Definition AssetRegistryImpl.h:238
Definition AssetRegistryImpl.h:151
FScopedHighPriorityWaitTracker(std::atomic< int32 > *InCounter, Private::ELockPriority InPriority)
Definition AssetRegistryImpl.h:153
~FScopedHighPriorityWaitTracker()
Definition AssetRegistryImpl.h:169
Definition AssetRegistryImpl.h:191
TOptional< TScopeLockType > GuardWrapper
Definition AssetRegistryImpl.h:202
UE::AssetRegistry::Private::FRWLockWithPriority & Lock
Definition AssetRegistryImpl.h:203
UE::AssetRegistry::Private::ELockPriority Priority
Definition AssetRegistryImpl.h:204
UE_NODISCARD_CTOR TRWScopeLockWithPriority(Private::FRWLockWithPriority &InLock, Private::ELockPriority InPriority=Private::PriorityHigh)
Definition AssetRegistryImpl.h:193
Definition ScopeLock.h:21
Type
Definition IAssetRegistry.h:51
Type
Definition IAssetRegistry.h:40
Definition ExpressionParserTypes.h:21
UE::FRecursiveMutex Mutex
Definition MeshPaintVirtualTexture.cpp:164
Definition OverriddenPropertySet.cpp:45
Definition AssetRegistry.cpp:758
Definition AssetDataGatherer.h:86
EGatherStatus
Definition AssetRegistryImpl.h:267
@ TickGameThreadActiveGatherIdle
EPerformanceMode
Definition AssetRegistryImpl.h:278
@ BulkLoading
Definition AssetRegistryImpl.h:280
@ MostlyStatic
Definition AssetRegistryImpl.h:283
Definition AssetRegistry.cpp:329
ELoadResult
Definition AssetRegistry.cpp:367
Definition AssetRegistryImpl.h:48
FRWLockWithPriority FInterfaceRWLock
Definition AssetRegistryImpl.h:49
TSet< FAssetData *, FCachedAssetKeyFuncs > FAssetDataMap
Definition AssetDataMap.h:113
void EnumerateMemoryAssetsHelper(const FARCompiledFilter &InFilter, TSet< FName > &OutPackageNamesWithAssets, bool &bOutStopIteration, TFunctionRef< bool(const UObject *Object, FAssetData &&PartialAssetData)> Callback, bool bSkipARFilteredAssets)
Definition AssetRegistry.cpp:2902
void EnumerateMemoryAssets(const FARCompiledFilter &InFilter, TSet< FName > &OutPackageNamesWithAssets, bool &bOutStopIteration, UE::AssetRegistry::Private::FInterfaceRWLock &InterfaceLock, const FAssetRegistryState &GuardedDataState, TFunctionRef< bool(FAssetData &&)> Callback, bool bSkipARFilteredAssets)
Definition AssetRegistry.cpp:3101
TMap< FName, Impl::FParsedFilterTagRules > ParseFilterTags(const TArray< FString > &FilterListItems, bool bIsFilteringDevelopmentAR, bool bUseAllowListInsteadOfDenyList)
Definition AssetRegistry.cpp:1686
bool RunAssetThroughFilter(const FAssetData &AssetData, const FARCompiledFilter &Filter, const EFilterMode FilterMode)
Definition AssetRegistry.cpp:4112
bool HasEngineModuleLoaded()
Definition AssetRegistry.cpp:1822
bool ReadAssetFile(FPackageReader &PackageReader, IAssetRegistry::FLoadPackageRegistryData &InOutData)
Definition AssetRegistry.cpp:6620
bool IsFilterValid(const FARCompiledFilter &Filter)
Definition AssetRegistryState.cpp:4115
void PrioritizeAssetInstall(const FAssetData &AssetData)
Definition AssetRegistry.cpp:4457
void RunAssetsThroughFilter(TArray< FAssetData > &AssetDataList, const FARCompiledFilter &CompiledFilter, const EFilterMode FilterMode)
Definition AssetRegistry.cpp:4189
bool IsPathMounted(const FString &Path, const TSet< FString > &MountPointsNoTrailingSlashes, FString &StringBuffer)
Definition AssetRegistry.cpp:7103
TMap< FTopLevelAssetPath, TSet< FName > > ResolveFilterTags(Impl::FFilterTagRules &InOutRules, bool bSuppressWarnings)
Definition AssetRegistry.cpp:1902
void EnumerateAllMemoryAssets(TSet< FName > &OutPackageNamesWithAssets, bool &bOutStopIteration, TFunctionRef< bool(FAssetData &&)> Callback)
Definition AssetRegistry.cpp:3367
bool GetAssetAvailabilityProgressTypeSupported(EAssetAvailabilityProgressReportingType::Type ReportType)
Definition AssetRegistry.cpp:4437
EFilterMode
Definition AssetRegistryImpl.h:1096
bool RunAssetThroughFilter_Unchecked(const FAssetData &AssetData, const FARCompiledFilter &Filter, const bool bPassFilterValue)
Definition AssetRegistry.cpp:4124
void UpdateSerializationOptions(FAssetRegistrySerializationOptions &InOutOptions, Impl::FFilterTagRules &InOutFilterRules, bool bSuppressWarnings)
Definition AssetRegistry.cpp:1662
void InitializeMountPoints(TOptional< TSet< FString > > &MountPoints)
Definition AssetRegistry.cpp:7091
EAssetAvailability::Type GetAssetAvailability(const FAssetData &AssetData)
Definition AssetRegistry.cpp:4318
void InitializeSerializationOptionsFromIni(FAssetRegistrySerializationOptions &Options, Impl::FFilterTagRules *OutRules, const ITargetPlatform *TargetPlatform, UE::AssetRegistry::ESerializationTarget Target, bool bSuppressWarnings)
Definition AssetRegistry.cpp:1565
float GetAssetAvailabilityProgress(const FAssetData &AssetData, EAssetAvailabilityProgressReportingType::Type ReportType)
Definition AssetRegistry.cpp:4372
Definition PackageReader.h:15
FString CreateStandardFilename(const FString &InPath)
Definition AssetRegistry.cpp:11229
EDeferFlag
Definition AssetRegistryImpl.h:361
FRWScopeLockWithPriority FInterfaceRWScopeLock
Definition AssetRegistryImpl.h:54
TRWScopeLockWithPriority< UE::TReadScopeLock< Private::FRWLockWithPriority > > FInterfaceReadScopeLock
Definition AssetRegistryImpl.h:52
ESerializationTarget
Definition AssetRegistryInterface.h:195
EAppendMode
Definition IAssetRegistry.h:134
EScanFlags
Definition IAssetRegistry.h:62
TRWScopeLockWithPriority< UE::TWriteScopeLock< Private::FRWLockWithPriority > > FInterfaceWriteScopeLock
Definition AssetRegistryImpl.h:53
EEnumerateAssetsFlags
Definition AssetRegistryInterface.h:211
UE_STRING_CLASS Result(Forward< LhsType >(Lhs), RhsLen)
Definition String.cpp.inl:732
Definition ARFilter.h:193
Definition AssetData.h:162
Definition AssetRegistryState.h:58
Definition PrimaryAssetId.h:126
Definition SoftObjectPath.h:56
Definition TickTaskManager.cpp:201
Definition TopLevelAssetPath.h:38
Definition IAssetRegistry.h:1093
Definition Optional.h:131
OptionalType & Emplace(ArgsType &&... Args)
Definition Optional.h:323
Definition AssetDataGatherer.h:159
Definition AssetDataGatherer.h:125
Definition IAssetRegistry.h:110
Definition AssetRegistryImpl.h:247
bool bDirty
Definition AssetRegistryImpl.h:255
TMap< FTopLevelAssetPath, TArray< FTopLevelAssetPath > > ReverseInheritanceMap
Definition AssetRegistryImpl.h:251
bool IsUpToDate(uint64 CurrentAllClassesVersionNumber) const
Definition AssetRegistry.cpp:9667
uint64 SavedAllClassesVersionNumber
Definition AssetRegistryImpl.h:253
TMap< FTopLevelAssetPath, FTopLevelAssetPath > InheritanceMap
Definition AssetRegistryImpl.h:249
void Clear()
Definition AssetRegistry.cpp:9661
SIZE_T GetAllocatedSize() const
Definition AssetRegistry.cpp:9672
Definition AssetRegistryImpl.h:977
void OnLockReentered(FAssetRegistryImpl &GuardedData)
Definition AssetRegistry.cpp:9725
FClassInheritanceBuffer * Buffer
Definition AssetRegistryImpl.h:979
FAssetRegistryImpl * AssetRegistryImpl
Definition AssetRegistryImpl.h:983
void BindToBuffer(FClassInheritanceBuffer &InBuffer, FAssetRegistryImpl &InAssetRegistryImpl, bool bInInheritanceMapUpToDate, bool bInCodeGeneratorClassesUpToDate)
Definition AssetRegistry.cpp:9677
void SelectBuffer(FAssetRegistryImpl &GuardedData, uint64 CurrentGeneratorClassesVersionNumber, uint64 CurrentAllClassesVersionNumber)
Definition AssetRegistry.cpp:9703
bool bCodeGeneratorClassesUpToDate
Definition AssetRegistryImpl.h:987
FClassInheritanceBuffer * StackBuffer
Definition AssetRegistryImpl.h:981
bool bInheritanceMapUpToDate
Definition AssetRegistryImpl.h:985
void ConditionalUpdate()
Definition AssetRegistry.cpp:9686
Definition AssetRegistryImpl.h:941
TArray< FString > RequiredLoads
Definition AssetRegistryImpl.h:955
TArray< TPair< FName, EEvent > > VerseEvents
Definition AssetRegistryImpl.h:954
void Clear()
Definition AssetRegistry.cpp:10556
bool bFileLoadedEventBroadcast
Definition AssetRegistryImpl.h:957
TOptional< IAssetRegistry::FFileLoadProgressUpdateData > ProgressUpdateData
Definition AssetRegistryImpl.h:951
bool bScanStartedEventBroadcast
Definition AssetRegistryImpl.h:958
TArray< TPair< FAssetData, EEvent > > AssetEvents
Definition AssetRegistryImpl.h:953
bool IsEmpty() const
Definition AssetRegistry.cpp:10569
EEvent
Definition AssetRegistryImpl.h:943
TArray< TPair< FString, EEvent > > PathEvents
Definition AssetRegistryImpl.h:952
bool bHasSentFileLoadedEventBroadcast
Definition AssetRegistryImpl.h:959
bool bKnownGathersCompleteEventBroadcast
Definition AssetRegistryImpl.h:960
TArray< FString > BlockedFiles
Definition AssetRegistryImpl.h:956
Definition AssetRegistryImpl.h:350
bool bContainsAnyUnresolvedRule
Definition AssetRegistryImpl.h:355
SIZE_T GetAllocatedSize() const
Definition AssetRegistryImpl.h:351
uint64 ClassesFingerprint
Definition AssetRegistryImpl.h:354
TMap< FName, FParsedFilterTagRules > Rules
Definition AssetRegistryImpl.h:353
Definition AssetRegistry.cpp:911
Definition AssetRegistryImpl.h:288
double GetTickStartTime() const
Definition AssetRegistryImpl.h:318
FInterruptionContext(double InTickStartTime, double InMaxRunningTime, ShouldExitEarlyCallbackType &Callback)
Definition AssetRegistryImpl.h:299
void SetEarlyExitCallback(const ShouldExitEarlyCallbackType &InCallback)
Definition AssetRegistryImpl.h:304
void SetLimitedTickTime(double InTickStartTime, double InMaxRunningTime)
Definition AssetRegistryImpl.h:313
bool ShouldExitEarly()
Definition AssetRegistry.cpp:11214
TFunction< bool(void)> ShouldExitEarlyCallbackType
Definition AssetRegistryImpl.h:290
bool IsTimeSlicingEnabled() const
Definition AssetRegistryImpl.h:319
void SetUnlimitedTickTime()
Definition AssetRegistryImpl.h:308
FInterruptionContext(double InTickStartTime, double InMaxRunningTime)
Definition AssetRegistryImpl.h:293
void RequestEarlyExit()
Definition AssetRegistryImpl.h:322
bool WasInterrupted() const
Definition AssetRegistryImpl.h:320
FInterruptionContext()=default
Definition AssetRegistryImpl.h:337
TArray< FFilterTagsRule > OrderedList
Definition AssetRegistryImpl.h:345
bool bContainsAnyUnresolvedRule
Definition AssetRegistryImpl.h:346
Definition AssetRegistryImpl.h:1002
bool bForceRescan
Definition AssetRegistryImpl.h:1017
TArray< FString > LocalDirs
Definition AssetRegistryImpl.h:1009
TArray< FString > PackageDirs
Definition AssetRegistryImpl.h:1008
int32 NumFoundAssets
Definition AssetRegistryImpl.h:1016
TArray< FString > LocalFiles
Definition AssetRegistryImpl.h:1011
bool bIgnoreDenyListScanFilters
Definition AssetRegistryImpl.h:1018
FClassInheritanceContext & InheritanceContext
Definition AssetRegistryImpl.h:1014
FEventContext & EventContext
Definition AssetRegistryImpl.h:1013
TArray< FString > LocalPaths
Definition AssetRegistryImpl.h:1012
EGatherStatus Status
Definition AssetRegistryImpl.h:1020
TArray< FString > PackageFiles
Definition AssetRegistryImpl.h:1010
bool bIgnoreInvalidPathWarning
Definition AssetRegistryImpl.h:1019
TArray< FSoftObjectPath > * OutFoundAssets
Definition AssetRegistryImpl.h:1015
Definition AssetRegistryImpl.h:1025
Impl::FInterruptionContext InterruptionContext
Definition AssetRegistryImpl.h:1075
EGatherStatus SetIntermediateStatus(EGatherStatus Status)
Definition AssetRegistry.cpp:5782
int32 CalculateNumGatherFromDiskPending()
Definition AssetRegistry.cpp:5760
EGatherStatus UpdateIntermediateStatus()
Definition AssetRegistry.cpp:5801
void RunDependencyDataGathered(TMultiMap< FName, FPackageDependencyData > &DependenciesToProcess, TMultiMap< FName, FPackageDependencyData > &OutDeferredDependencies, TSet< FName > *OutPackagesNeedingDependencyCalculation)
Definition AssetRegistry.cpp:5892
void RunAssetSearchDataGathered(TMultiMap< FName, TUniquePtr< FAssetData > > &InAssetResults, TMultiMap< FName, TUniquePtr< FAssetData > > &OutDeferredAssetResults)
Definition AssetRegistry.cpp:5859
bool bHandleDeferred
Definition AssetRegistryImpl.h:1083
void SetNumGatherFromDiskPendingDirty()
Definition AssetRegistry.cpp:5734
void RecordTimer()
Definition AssetRegistry.cpp:5725
bool bHadAssetsToProcess
Definition AssetRegistryImpl.h:1085
bool bHandleCompletion
Definition AssetRegistryImpl.h:1082
Impl::FClassInheritanceContext & InheritanceContext
Definition AssetRegistryImpl.h:1078
UE::AssetDataGather::FResultContext ResultContext
Definition AssetRegistryImpl.h:1074
void LazyStartTimer()
Definition AssetRegistry.cpp:5718
FAssetRegistryImpl & GuardedData
Definition AssetRegistryImpl.h:1076
bool bIsInGameThread
Definition AssetRegistryImpl.h:1086
double TimingStartTime
Definition AssetRegistryImpl.h:1080
int32 NumGatherFromDiskPending
Definition AssetRegistryImpl.h:1081
TOptional< TSet< FString > > MountPointsForVerifyAfterGather
Definition AssetRegistryImpl.h:1079
Impl::FEventContext & EventContext
Definition AssetRegistryImpl.h:1077
int32 GetNumGatherFromDiskPending()
Definition AssetRegistry.cpp:5739
bool bNumGatherFromDiskPendingDirty
Definition AssetRegistryImpl.h:1084
int32 GetNumPending()
Definition AssetRegistry.cpp:5749
Definition AssetRegistryImpl.h:69
void Wait(FInterfaceWriteScopeLock &ScopeLock)
Definition AssetRegistry.cpp:709
~FAsyncConsumer()
Definition AssetRegistry.cpp:692
void Consume(UAssetRegistryImpl &UARI, UE::AssetRegistry::Impl::FEventContext &EventContext, ELoadResult LoadResult, FAssetRegistryState &&ARState)
Definition AssetRegistry.cpp:736
void PrepareForConsume()
Definition AssetRegistry.cpp:701
Definition AssetDataMap.h:61