FGantryLoadSnapshot
Everything loading at one instant: the open load scopes, the recently closed ones, and how many packages the engine is streaming.
UGantryStreamingSubsystem captures one every frame. Read it with Get Snapshot, or use the subsystem's shortcuts (Is Loading, Get Overall Progress, Get Primary Scope), which read the same snapshot. It is a copy: read it as often as you like, but take a new one each frame.
In Blueprint, measure a snapshot with Get Snapshot Progress, Is Snapshot Busy and Get Snapshot Primary Scope.
Properties
| Property | Type | Default | Description |
|---|---|---|---|
ActiveScopes read-only | TArray<FGantryLoadScopeInfo> | Scopes still open at capture time, in ledger slot order (freed slots are reused). | |
RecentScopes read-only | TArray<FGantryLoadScopeInfo> | Closed scopes, newest first, capped by | |
EngineAsyncPackageCount read-only | int32 | 0 | Packages the engine is streaming right now, including work Gantry did not request. If this is high while Active Scopes is empty, something is loading without a load scope, and a loading screen will not see it. |
CaptureTimeSeconds read-only | double | 0.000000 | FPlatformTime::Seconds() at capture, in seconds from a platform-defined origin. Only differences between two captures are meaningful. |
C++
Public C++ members that Blueprint does not see.
GetOverallProgress
float
Returns loaded over requested assets summed across user-facing open scopes, from 0 to 1.
When nothing has been requested yet, it returns 0 while a user-facing scope is still open and 1 when idle. In Blueprint: Get Snapshot Progress.
IsBusy
bool
Returns true while any user-facing scope is still open.
In Blueprint: Is Snapshot Busy.
GetPrimaryScope
FGantryLoadScopeInfo
Returns the scope a loading bar should name: the open user-facing scope with the most assets still outstanding, or a default info with an invalid handle when none is open.
In Blueprint: Get Snapshot Primary Scope.