Choose your operating system:
Windows
macOS
Linux
Module |
|
Header |
/Engine/Source/Runtime/Engine/Classes/Engine/Engine.h |
Include |
#include "Engine/Engine.h" |
struct FWorldContext
FWorldContext A context for dealing with UWorlds at the engine level. As the engine brings up and destroys world, we need a way to keep straight what world belongs to what.
WorldContexts can be thought of as a track. By default we have 1 track that we load and unload levels on. Adding a second context is adding a second track; another track of progression for worlds to live on.
For the GameEngine, there will be one WorldContext until we decide to support multiple simultaneous worlds. For the EditorEngine, there may be one WorldContext for the EditorWorld and one for the PIE World.
FWorldContext provides both a way to manage 'the current PIE UWorld*' as well as state that goes along with connecting/travelling to new worlds.
FWorldContext should remain internal to the UEngine classes. Outside code should not keep pointers or try to manage FWorldContexts directly. Outside code can still deal with UWorld*, and pass UWorld*s into Engine level functions. The Engine code can look up the relevant context for a given UWorld*.
For convenience, FWorldContext can maintain outside pointers to UWorld*s. For example, PIE can tie UWorld* UEditorEngine::PlayWorld to the PIE world context. If the PIE UWorld changes, the UEditorEngine::PlayWorld pointer will be automatically updated. This is done with AddRef() and SetCurrentWorld().
Name | Description | ||
---|---|---|---|
|
ActiveNetDrivers |
A list of active net drivers |
|
|
AudioDeviceID |
Handle to this world context's audio device. |
|
|
uint32: 1 |
bShouldCommitPendingMapChange |
If true, commit map change the next frame. |
|
bWaitingOnOnlineSubsystem |
Is this world context waiting for an online login to complete (for PIE) |
|
|
ContextHandle |
||
|
CustomDescription |
Custom description to be display in blueprint debugger UI |
|
|
ExternalReferences |
Outside pointers to CurrentWorld that should be kept in sync if current world changes |
|
|
TObjectPtr< cla... |
GameViewport |
|
|
LastRemoteURL |
Last server we connected to (for "reconnect" command) |
|
|
LastURL |
URL the last time we traveled |
|
|
LevelsToLoadForPendingMapChange |
Array of package/ level names that need to be loaded for the pending map change. |
|
|
LoadedLevelsForPendingMapChange |
Array of already loaded levels. |
|
|
ObjectReferencers |
Handles to object references; used by the engine to e.g. the prevent objects from being garbage collected. |
|
|
TObjectPtr< cla... |
OwningGameInstance |
|
|
TArray< struct ... |
PackagesToFullyLoad |
A list of tag/array pairs that is used at LoadMap time to fully load packages that may be needed for the map/game with DLC, but we can't use DynamicLoadObject to load from the packages |
|
TArray< struct ... |
PendingLevelStreamingStatusUpdates |
|
|
PendingMapChangeFailureDescription |
Human readable error string for any failure during a map change request. |
|
|
TObjectPtr< UPe... |
PendingNetGame |
|
|
float |
PIEAccumulatedTickSeconds |
|
|
float |
PIEFixedTickSeconds |
If > 0, tick this world at a fixed rate in PIE. |
|
PIEInstance |
The PIE instance of this world, -1 is default |
|
|
PIEPrefix |
The Prefix in front of PIE level names, empty is default |
|
|
PIEWorldFeatureLevel |
The feature level that PIE world should use |
|
|
RunAsDedicated |
Is this running as a dedicated server |
|
|
SeamlessTravelHandler |
||
|
TravelType |
TravelType for pending client connects |
|
|
TravelURL |
URL to travel to for pending client connect |
|
|
TEnumAsByte< EW... |
WorldType |
Name | Description | |
---|---|---|
|
FWorldContext() |
Name | Description | ||
---|---|---|---|
|
AddRef ( |
Adds an external reference |
|
|
AddReferencedObjects ( |
Collect FWorldContext references for garbage collection |
|
|
RemoveRef ( |
Removes an external reference |
|
|
SetCurrentWorld ( |
Set CurrentWorld and update external reference pointers to reflect this |
|
|
UWorld * |
World() |