UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
AsyncPackageLoader.h File Reference

Go to the source code of this file.

Classes

struct  FAsyncLoadingThreadSettings
 
class  IAsyncPackageLoader
 

Namespaces

namespace  Verse
 

Functions

 DECLARE_STATS_GROUP_VERBOSE (TEXT("Async Load"), STATGROUP_AsyncLoad, STATCAT_Advanced)
 
 DECLARE_CYCLE_STAT (TEXT("Async Loading Time"), STAT_AsyncLoadingTime, STATGROUP_AsyncLoad)
 
 DECLARE_STATS_GROUP (TEXT("Async Load Game Thread"), STATGROUP_AsyncLoadGameThread, STATCAT_Advanced)
 
 DECLARE_CYCLE_STAT (TEXT("PostLoadObjects GT"), STAT_FAsyncPackage_PostLoadObjectsGameThread, STATGROUP_AsyncLoadGameThread)
 
 DECLARE_CYCLE_STAT (TEXT("TickAsyncLoading GT"), STAT_FAsyncPackage_TickAsyncLoadingGameThread, STATGROUP_AsyncLoadGameThread)
 
 DECLARE_CYCLE_STAT (TEXT("Flush Async Loading GT"), STAT_FAsyncPackage_FlushAsyncLoadingGameThread, STATGROUP_AsyncLoadGameThread)
 
 DECLARE_CYCLE_STAT (TEXT("Flush All Async Loads GT"), STAT_FAsyncPackage_FlushAllAsyncLoadingGameThread, STATGROUP_AsyncLoadGameThread)
 
 DECLARE_CYCLE_STAT_WITH_FLAGS (TEXT("PostLoadInstances GT"), STAT_FAsyncPackage_PostLoadInstancesGameThread, STATGROUP_AsyncLoadGameThread, EStatFlags::Verbose)
 
 DECLARE_CYCLE_STAT_WITH_FLAGS (TEXT("CreateClusters GT"), STAT_FAsyncPackage_CreateClustersGameThread, STATGROUP_AsyncLoadGameThread, EStatFlags::Verbose)
 
bool IsGarbageCollectionLocked ()
 
bool IsNativeCodePackage (UPackage *Package)
 
bool CanPostLoadOnAsyncLoadingThread (UObject *Object)
 
template<typename T >
void ClearFlagsAndDissolveClustersFromLoadedObjects (T &LoadedObjects)
 
COREUOBJECT_API void ResetAsyncLoadingStats ()
 
void IsTimeLimitExceededPrint (double InTickStartTime, double CurrentTime, double LastTestTime, double InTimeLimit, const TCHAR *InLastTypeOfWorkPerformed=nullptr, UObject *InLastObjectWorkWasPerformedOn=nullptr)
 

Variables

const FName PrestreamPackageClassNameLoad
 
COREUOBJECT_API double GFlushAsyncLoadingTime
 
COREUOBJECT_API uint32 GFlushAsyncLoadingCount
 
COREUOBJECT_API uint32 GSyncLoadCount
 
COREUOBJECT_API int32 GWarnIfTimeLimitExceeded
 
COREUOBJECT_API float GTimeLimitExceededMultiplier
 
COREUOBJECT_API float GTimeLimitExceededMinTime
 

Function Documentation

◆ CanPostLoadOnAsyncLoadingThread()

bool CanPostLoadOnAsyncLoadingThread ( UObject Object)

Checks if the object can have PostLoad called on the Async Loading Thread

◆ ClearFlagsAndDissolveClustersFromLoadedObjects()

template<typename T >
void ClearFlagsAndDissolveClustersFromLoadedObjects ( T &  LoadedObjects)

◆ DECLARE_CYCLE_STAT() [1/5]

DECLARE_CYCLE_STAT ( TEXT("Async Loading Time" ,
STAT_AsyncLoadingTime  ,
STATGROUP_AsyncLoad   
)

◆ DECLARE_CYCLE_STAT() [2/5]

◆ DECLARE_CYCLE_STAT() [3/5]

◆ DECLARE_CYCLE_STAT() [4/5]

DECLARE_CYCLE_STAT ( TEXT("PostLoadObjects GT" ,
STAT_FAsyncPackage_PostLoadObjectsGameThread  ,
STATGROUP_AsyncLoadGameThread   
)

◆ DECLARE_CYCLE_STAT() [5/5]

DECLARE_CYCLE_STAT ( TEXT("TickAsyncLoading GT" ,
STAT_FAsyncPackage_TickAsyncLoadingGameThread  ,
STATGROUP_AsyncLoadGameThread   
)

◆ DECLARE_CYCLE_STAT_WITH_FLAGS() [1/2]

DECLARE_CYCLE_STAT_WITH_FLAGS ( TEXT("CreateClusters GT" ,
STAT_FAsyncPackage_CreateClustersGameThread  ,
STATGROUP_AsyncLoadGameThread  ,
EStatFlags::Verbose   
)

◆ DECLARE_CYCLE_STAT_WITH_FLAGS() [2/2]

DECLARE_CYCLE_STAT_WITH_FLAGS ( TEXT("PostLoadInstances GT" ,
STAT_FAsyncPackage_PostLoadInstancesGameThread  ,
STATGROUP_AsyncLoadGameThread  ,
EStatFlags::Verbose   
)

◆ DECLARE_STATS_GROUP()

DECLARE_STATS_GROUP ( TEXT("Async Load Game Thread" ,
STATGROUP_AsyncLoadGameThread  ,
STATCAT_Advanced   
)

◆ DECLARE_STATS_GROUP_VERBOSE()

DECLARE_STATS_GROUP_VERBOSE ( TEXT("Async Load" ,
STATGROUP_AsyncLoad  ,
STATCAT_Advanced   
)

◆ IsGarbageCollectionLocked()

bool IsGarbageCollectionLocked ( )
extern

Returns true if we're inside a FGCScopeGuard

◆ IsNativeCodePackage()

bool IsNativeCodePackage ( UPackage Package)

◆ IsTimeLimitExceededPrint()

void IsTimeLimitExceededPrint ( double  InTickStartTime,
double  CurrentTime,
double  LastTestTime,
double  InTimeLimit,
const TCHAR InLastTypeOfWorkPerformed = nullptr,
UObject InLastObjectWorkWasPerformedOn = nullptr 
)

◆ ResetAsyncLoadingStats()

COREUOBJECT_API void ResetAsyncLoadingStats ( )
extern

Variable Documentation

◆ GFlushAsyncLoadingCount

COREUOBJECT_API uint32 GFlushAsyncLoadingCount
extern

◆ GFlushAsyncLoadingTime

COREUOBJECT_API double GFlushAsyncLoadingTime
extern

◆ GSyncLoadCount

COREUOBJECT_API uint32 GSyncLoadCount
extern

◆ GTimeLimitExceededMinTime

COREUOBJECT_API float GTimeLimitExceededMinTime
extern

◆ GTimeLimitExceededMultiplier

COREUOBJECT_API float GTimeLimitExceededMultiplier
extern

◆ GWarnIfTimeLimitExceeded

COREUOBJECT_API int32 GWarnIfTimeLimitExceeded
extern

◆ PrestreamPackageClassNameLoad

const FName PrestreamPackageClassNameLoad
extern