![]() |
UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
|
#include <AsyncLoadingThread.h>
Inheritance diagram for FAsyncLoadingThread:Static Public Member Functions | |
| static FAsyncLoadingThread & | Get () |
| static void | EnterAsyncLoadingTick (int32 ThreadIndex) |
| static void | LeaveAsyncLoadingTick (int32 ThreadIndex) |
| static UE_AUTORTFM_ALWAYS_OPEN bool | GetIsInAsyncLoadingTick () |
Public Attributes | |
| TArray< FAsyncPackage * > | AsyncPackagesReadyForTick |
| FAsyncLoadEventQueue | EventQueue |
| FThreadSafeCounter | RecursionNotAllowed |
Static Public Attributes | |
| static FAsyncLoadingThread * | Instance = nullptr |
Friends | |
| struct | FAsyncPackage |
Additional Inherited Members | |
Static Protected Member Functions inherited from IAsyncPackageLoader | |
| static int32 | GetNextRequestId () |
Async loading thread. Preloads/serializes packages on async loading thread. Postloads objects on the game thread.
| FAsyncLoadingThread::FAsyncLoadingThread | ( | int32 | InThreadIndex | ) |
|
virtual |
|
overridevirtual |
[GAME THREAD] Cancels streaming
Implements IAsyncPackageLoader.
| void FAsyncLoadingThread::CheckForCycles | ( | ) |
[EDL] [ASYNC* THREAD] Checks fopr cycles in the event driven loader and does fatal errors in that case
Sets the current state of async loading
|
inline |
[ASYNC THREAD] Finds an existing async package in the AsyncPackages by its name.
| PackageName | async package name. |
|
inline |
[ASYNC THREAD] Finds an existing async package in the LoadedPackages by its name.
| PackageName | async package name. |
| void FAsyncLoadingThread::FireCompletedCompiledInImport | ( | void * | AsyncPacakge, |
| FPackageIndex | Import | ||
| ) |
|
overridevirtual |
|
inlinestatic |
Returns the async loading thread singleton
|
inline |
[GAME THREAD] Gets the load percentage of the specified package
| PackageName | Name of the package to return async load percentage for |
Implements IAsyncPackageLoader.
|
inline |
Gets the EDL event graph
|
inline |
|
inlinestatic |
Gets the current state of async loading
|
inlineoverridevirtual |
Implements IAsyncPackageLoader.
|
inlineoverridevirtual |
Returns the number of async packages that are currently being processed
Implements IAsyncPackageLoader.
|
inlineoverridevirtual |
Returns the number of async packages that are currently queued but not yet processed
Implements IAsyncPackageLoader.
|
inline |
[EDL] Gets a package from a weak pointer
|
inline |
[ASYNC/GAME THREAD] Queues a package for streaming.
| Package | package descriptor. |
|
inline |
Gets the EDL precache handler
|
inline |
Gets this ALT index (future use)
|
overridevirtual |
Initializes async loading thread
Implements IAsyncPackageLoader.
| void FAsyncLoadingThread::InsertPackage | ( | FAsyncPackage * | Package, |
| bool | bReinsert = false, |
||
| EAsyncPackageInsertMode | InsertMode = EAsyncPackageInsertMode::InsertBeforeMatchingPriorities |
||
| ) |
[ASYNC THREAD] Inserts package to queue according to priority.
| PackageName | - async package name. |
| InsertMode | - Insert mode, describing how we insert this package into the request list |
|
inlineoverridevirtual |
Returns whether packages are currently being loaded on a background thread. Note: GIsInitialLoad guards the package loader from creating background threads too early.
Implements IAsyncPackageLoader.
Returns whether the package loader is suspended or not.
Implements IAsyncPackageLoader.
|
inline |
Returns true if async loading is suspended
|
inlineoverridevirtual |
Returns whether in package loader background thread or not.
Implements IAsyncPackageLoader.
|
inlineoverridevirtual |
True if multithreaded async loading is currently being used.
Implements IAsyncPackageLoader.
|
overridevirtual |
Asynchronously load a package.
| PackagePath | PackagePath to load. Must be a mounted path. The package is created if it does not already exist. |
| CustomPackageName | If not none, this is the name of the package to load into (and create if not yet existing). If none, the name is take from PackagePath. |
| InCompletionDelegate | Delegate to be invoked when the packages has finished streaming |
| InPackageFlags | Package flags used to construct loaded package in memory |
| InPIEInstanceID | Play in Editor instance ID |
| InPackagePriority | Loading priority |
| InstancingContext | Additional context to map object names to their instanced counterpart when loading an instanced package |
| LoadFlags | Flags controlling loading behavior, from the ELoadFlags enum |
Implements IAsyncPackageLoader.
|
overridevirtual |
Asynchronously load a package.
| PackagePath | PackagePath to load. Must be a mounted path. The package is created if it does not already exist. |
| OptionalParams | Struct containing all the parameters required to load the package. |
Reimplemented from IAsyncPackageLoader.
|
overridevirtual |
Call back into the async loading code to inform of the creation of a new object
| Object | Object created |
| bSubObject | Object created as a sub-object of a loaded object |
Implements IAsyncPackageLoader.
|
overridevirtual |
Implements IAsyncPackageLoader.
|
overridevirtual |
Implements IAsyncPackageLoader.
|
inlineoverridevirtual |
Implements IAsyncPackageLoader.
| EAsyncPackageState::Type FAsyncLoadingThread::ProcessAsyncLoading | ( | int32 & | OutPackagesProcessed, |
| bool | bUseTimeLimit, | ||
| bool | bUseFullTimeLimit, | ||
| float | TimeLimit, | ||
| FFlushRequest & | FlushRequest | ||
| ) |
[ASYNC* THREAD] Loads all packages
| OutPackagesProcessed | Number of packages processed in this call. |
| bUseTimeLimit | True if time limit should be used [time-slicing]. |
| bUseFullTimeLimit | True if full time limit should be used [time-slicing]. |
| TimeLimit | Maximum amount of time that can be spent in this call [time-slicing]. |
| FlushRequest | The request to flush a package and its depedencies. May be invalid. |
|
overridevirtual |
Process all currently loading package requests.
| bUseTimeLimit | Whether to use time limit or not |
| bUseFullTimeLimit | |
| TimeLimit | Time limit |
Implements IAsyncPackageLoader.
|
overridevirtual |
Process all loading package requests until completion predicate is satisfied.
| CompletionPredicate | Completion predicate |
| TimeLimit | Time limit |
Implements IAsyncPackageLoader.
| void FAsyncLoadingThread::QueueEvent_CreateLinker | ( | FAsyncPackage * | Pkg, |
| int32 | EventSystemPriority = 0 |
||
| ) |
[EDL] Queues CreateLinker event
| void FAsyncLoadingThread::QueueEvent_ExportsDone | ( | FAsyncPackage * | Pkg, |
| int32 | EventSystemPriority = 0 |
||
| ) |
[EDL] Queues ExportsDone event
| void FAsyncLoadingThread::QueueEvent_FinishLinker | ( | FWeakAsyncPackagePtr | WeakPtr, |
| int32 | EventSystemPriority = 0 |
||
| ) |
[EDL] Queues FinishLinker event
| void FAsyncLoadingThread::QueueEvent_ProcessImportsAndExports | ( | FAsyncPackage * | Pkg, |
| int32 | EventSystemPriority = 0 |
||
| ) |
[EDL] Queues ProcessImportsAndExports event
| void FAsyncLoadingThread::QueueEvent_ProcessPostloadWait | ( | FAsyncPackage * | Pkg, |
| int32 | EventSystemPriority = 0 |
||
| ) |
[EDL] Queues ProcessPostload event
| void FAsyncLoadingThread::QueueEvent_SetupExports | ( | FAsyncPackage * | Pkg, |
| int32 | EventSystemPriority = 0 |
||
| ) |
[EDL] Queues SetupExports event
| void FAsyncLoadingThread::QueueEvent_SetupImports | ( | FAsyncPackage * | Pkg, |
| int32 | EventSystemPriority = 0 |
||
| ) |
[EDL] Queues SetupImports event
| void FAsyncLoadingThread::QueueEvent_StartImportPackages | ( | FAsyncPackage * | Pkg, |
| int32 | EventSystemPriority = 0 |
||
| ) |
[EDL] Queues StartImportPackages event
| void FAsyncLoadingThread::QueueEvent_StartPostLoad | ( | FAsyncPackage * | Pkg, |
| int32 | EventSystemPriority = 0 |
||
| ) |
[EDL] Queues StartPostLoad event
| void FAsyncLoadingThread::QueuePackage | ( | FAsyncPackageDesc & | Package | ) |
[ASYNC/GAME THREAD] Queues a package for streaming.
| Package | package descriptor. |
|
overridevirtual |
[GAME THREAD] Resumes async loading thread
Implements IAsyncPackageLoader.
|
virtual |
|
inline |
|
overridevirtual |
Implements IAsyncPackageLoader.
|
overridevirtual |
[GAME THREAD] Stops the async loading thread and blocks until the thread has exited.
Implements IAsyncPackageLoader.
|
overridevirtual |
Start the async loading thread
Implements IAsyncPackageLoader.
|
overridevirtual |
[GAME THREAD] Suspends async loading thread
Implements IAsyncPackageLoader.
| EAsyncPackageState::Type FAsyncLoadingThread::TickAsyncLoading | ( | bool | bUseTimeLimit, |
| bool | bUseFullTimeLimit, | ||
| double | TimeLimit, | ||
| FFlushRequest | FlushRequest = FFlushRequest() |
||
| ) |
[GAME THREAD] Ticks game thread side of async loading.
| bUseTimeLimit | True if time limit should be used [time-slicing]. |
| bUseFullTimeLimit | True if full time limit should be used [time-slicing]. |
| TimeLimit | Maximum amount of time that can be spent in this call [time-slicing]. |
| FlushRequest | The request to flush a package and its depedencies. May be invalid. |
| EAsyncPackageState::Type FAsyncLoadingThread::TickAsyncThread | ( | bool | bUseTimeLimit, |
| bool | bUseFullTimeLimit, | ||
| double | TimeLimit, | ||
| bool & | bDidSomething, | ||
| FFlushRequest & | FlushRequest | ||
| ) |
[ASYNC THREAD] Main thread loop
| bUseTimeLimit | True if time limit should be used [time-slicing]. |
| bUseFullTimeLimit | True if full time limit should be used [time-slicing]. |
| TimeLimit | Maximum amount of time that can be spent in this call [time-slicing]. |
| FlushRequest | The request to flush a package and its depedencies. May be invalid. |
|
friend |
| TArray<FAsyncPackage*> FAsyncLoadingThread::AsyncPackagesReadyForTick |
[EDL] Async Packages that are ready for tick
| FAsyncLoadEventQueue FAsyncLoadingThread::EventQueue |
[EDL] Event queue
|
static |
| FThreadSafeCounter FAsyncLoadingThread::RecursionNotAllowed |