| UObjectBase
|
Module |
|
Header |
/Engine/Source/Runtime/Engine/Classes/Engine/Level.h |
Include |
#include "Engine/Level.h" |
class ULevel :
public UObject,
public IInterface_AssetUserData,
public ITextureStreamingContainer
The level object. Contains the level's actor list, BSP information, and brush list. Every Level has a World as its Outer and can be used as the PersistentLevel, however, when a Level has been streamed in the OwningWorld represents the World that it is a part of. A Level is a collection of Actors (lights, volumes, mesh instances etc.). Multiple Levels can be loaded and unloaded into the World to create a streaming experience.
Name | Description | ||
---|---|---|---|
|
TObjectPtr< ULe... |
ActorCluster |
|
|
EActorPackaging... |
ActorPackagingScheme |
|
|
Actors |
Array of all actors in this level, used by FActorIteratorBase and derived classes |
|
|
ActorsForGC |
Array of actors to be exposed to GC in this level. |
|
|
ActorsModifiedForPIE |
List of modified, unsaved actors that needs to be duplicated for PIE |
|
|
AssetUserData |
Array of user data stored with the asset |
|
|
uint8: 1 |
bActorClusterCreated |
Whether the level had its actor cluster created. |
|
uint8: 1 |
bAlreadyAssociatedStreamableResources |
Whether we already associated streamable resources. |
|
uint8: 1 |
bAlreadyClearedActorsSeamlessTravelFlag |
Whether we already cleared AActor::bActorSeamlessTraveled. |
|
uint8: 1 |
bAlreadyInitializedNetworkActors |
Whether we already initialized network actors. |
|
uint8: 1 |
bAlreadyMovedActors |
The below variables are used temporarily while making a level visible. |
|
uint8: 1 |
bAlreadyShiftedActors |
Whether we already shift actors positions according to world composition. |
|
uint8: 1 |
bAlreadySortedActorList |
Whether we already sorted the actor list. |
|
uint8: 1 |
bAlreadyUpdatedComponents |
Whether we already updated components. |
|
uint8: 1 |
bAreComponentsCurrentlyRegistered |
Whether components are currently registered or not. |
|
uint8: 1 |
bClientOnlyVisible |
Whether this level is specific to client, visibility state will not be replicated to server |
|
uint8: 1 |
bContainsStableActorGUIDs |
Whether the level has been saved after introducing actor GUIDs |
|
uint8: 1 |
bFixupActorFoldersAtLoad |
Whether the level should call FixupActorFolders on its actors when loading the level/actors (only used when level is using actor folder objects) |
|
uint8: 1 |
bGeometryDirtyForLighting |
Whether the geometry needs to be rebuilt for correct lighting |
|
uint8: 1 |
bHasCurrentActorCalledPreRegister |
Whether the actor referenced by CurrentActorIndexForUpdateComponents has called PreRegisterAllComponents |
|
uint8: 1 |
bHasRerunConstructionScripts |
Whether this level has gone through a complete rerun construction script pass. |
|
uint8: 1 |
bIsAssociatingLevel |
Whether this level is in the process of being associated with its world (i.e. we are within AddToWorld for this level |
|
uint8: 1 |
bIsBeingRemoved |
Whether the level is currently being removed from the world |
|
uint8: 1 |
bIsDisassociatingLevel |
Whether this level is in the process of being disassociated with its world (i.e. we are within RemoveFromWorld for this level |
|
uint8: 1 |
bIsLightingScenario |
Whether the level is a lighting scenario. |
|
uint8: 1 |
bIsPartitioned |
Whether the level is partitioned or not. |
|
uint8: 1 |
bIsVisible |
Whether the level is currently visible/ associated with the world. |
|
uint8: 1 |
bLocked |
Whether this level is locked; that is, its actors are read-only Used by WorldBrowser to lock a level when corresponding ULevelStreaming does not exist |
|
bool |
bPromptWhenAddingToLevelBeforeCheckout |
|
|
bool |
bPromptWhenAddingToLevelOutsideBounds |
|
|
uint8: 1 |
bRequireFullVisibilityToRender |
Whether this level should be fully added to the world before rendering its components |
|
uint8: 1 |
bStaticComponentsRegisteredInStreamingManager |
Whether the level has finished registering all static components in the streaming manager. |
|
uint8: 1 |
bTextureStreamingRotationChanged |
Whether a level transform rotation was applied since the texture streaming builds. |
|
bool |
bUseExternalActors |
Use external actors, new actor spawned in this level will be external and existing external actors will be loaded on load. |
|
uint8: 1 |
bWasDuplicated |
Whether this level was duplicated |
|
uint8: 1 |
bWasDuplicatedForPIE |
Whether this level was duplicated for PIE |
|
int32 |
CurrentActorIndexForIncrementalUpdate |
Current index into actors array for updating components. |
|
int32 |
CurrentActorIndexForUnregisterComponents |
Current index into actors array for updating components. |
|
std::atomic< ui... |
FixupOverrideVertexColorsCount |
|
|
std::atomic< ui... |
FixupOverrideVertexColorsTimeMS |
|
|
IncrementalComponentState |
The current stage for incrementally updating actor components in the level |
|
|
TWeakObjectPtr<... |
InstancedFoliageActor |
Cached pointer to Foliage actor |
|
TWeakObjectPtr<... |
LevelBoundsActor |
Actor which defines level logical bounding box |
|
LevelBuildDataId |
Identifies map build data specific to this level, eg lighting volume samples. |
|
|
LevelColor |
The level color used for visualization. |
|
|
TObjectPtr< cla... |
LevelScriptActor |
The level scripting actor, created by instantiating the class from LevelScriptBlueprint. |
|
TObjectPtr< cla... |
LevelScriptBlueprint |
Reference to the blueprint for level scripting |
|
LevelSimplification |
Level simplification settings for each LOD |
|
|
FIntVector |
LightBuildLevelOffset |
Level offset at time when lighting was built |
|
float |
LightmapTotalSize |
Total number of KB used for lightmap textures in the level. |
|
TObjectPtr< UMa... |
MapBuildData |
Registry for data from the map build. |
|
TObjectPtr< cla... |
Model |
BSP UModel. |
|
ModelComponents |
BSP Model components used for rendering. |
|
|
NavDataChunks |
Navigation related data that can be stored per level |
|
|
TObjectPtr< cla... |
NavListEnd |
|
|
TObjectPtr< cla... |
NavListStart |
Start and end of the navigation list for this level, used for quickly fixing up when streaming this level in/out. |
|
int32 |
NumTextureStreamingDirtyResources |
Num of resources that have changed since the last texture streaming build. Updated in map check. |
|
int32 |
NumTextureStreamingUnbuiltComponents |
Num of components missing valid texture streaming data. Updated in map check. |
|
OnApplyLevelTransform |
||
|
OnCleanupLevel |
||
|
OnLoadedActorAddedToLevelEvent |
||
|
OnLoadedActorRemovedFromLevelEvent |
||
|
TObjectPtr< UWo... |
OwningWorld |
The World that has this level in its Levels array. |
|
uint32 |
PackedTextureStreamingQualityLevelFeatureLevel |
Packed quality level and feature level used when building texture streaming data. |
|
AActor * |
PlayFromHereActor |
|
|
PrecomputedLightVolume |
The precomputed light information for this level. |
|
|
PrecomputedVisibilityHandler |
Contains precomputed visibility data for this level. |
|
|
PrecomputedVolumeDistanceField |
Precomputed volume distance field for this level. |
|
|
PrecomputedVolumetricLightmap |
The volumetric lightmap data for this level. |
|
|
RemoveFromSceneFence |
Fence used to track when the rendering thread has finished referencing this ULevel's resources. |
|
|
float |
ShadowmapTotalSize |
Total number of KB used for shadowmap textures in the level. |
|
TArray< FVector... |
StaticNavigableGeometry |
Threes of triangle vertices - AABB filtering friendly. |
|
StreamingTextureGuids |
The Guid of each streamable texture refered by FStreamingTextureBuildInfo::TextureLevelIndex |
|
|
StreamingTextures |
The name of each streamable texture referred by FStreamingTextureBuildInfo::TextureLevelIndex |
|
|
TextureStreamingResourceGuids |
The Guid list of all materials and meshes Guid used in the last texture streaming build. |
|
|
FTickTaskLevel ... |
TickTaskLevel |
Data structures for holding the tick functions |
|
URL |
URL associated with this level. |
Name | Description | |
---|---|---|
|
ULevel ( |
|
|
ULevel ( |
DO NOT USE. This constructor is for internal usage only for hot-reload purposes. |
Name | Description | |
---|---|---|
|
~ULevel() |
Name | Description | ||
---|---|---|---|
|
void |
AddLoadedActor ( |
Add a dynamically loaded actor to this level, as if it was part of the original map load process. |
|
void |
AddLoadedActors |
Add a dynamically loaded actor to this level, as if it was part of the original map load process. |
|
void |
AddReferencedObjects ( |
|
|
void |
ApplyWorldOffset ( |
Shift level actors by specified offset The offset vector will get subtracted from all actors positions and corresponding data structures |
|
void |
BroadcastLevelBoundsActorUpdated() |
Broadcasts that Level bounds actor has been updated |
|
void |
BuildStreamingData ( |
Rebuilds static streaming data for all levels in the specified UWorld. |
|
void |
CleanupDeletedAndUnreferencedActorFolders() |
Deletes all actor folders marked as deleted and unreferenced by neither an actor nor another actor folder |
|
void |
CleanupLevel ( |
Flag this level instance for destruction. |
|
void |
CleanupLevelScriptBlueprint() |
Nulls certain references related to the LevelScriptBlueprint. |
|
void |
CleanupReferences() |
Cleans all references from and to this level that may be preventing it from being Garbage Collected |
|
void |
ClearActorsSeamlessTraveledFlag() |
|
|
void |
ClearLevelComponents() |
Clears all components of actors associated with this level (aka in Actors array) and also the BSP model components. |
|
void |
CommitModelSurfaces() |
Commits changes made to the UModel's surfaces. |
|
void |
ConvertAllActorsToPackaging ( |
Convert this level actors to the specified loading strategy |
|
UPackage ... |
CreateActorPackage |
Create an package for this actor |
|
UPackage ... |
CreateMapBuildDataPackage() |
|
|
void |
CreateModelComponents() |
Called to create ModelComponents for BSP rendering |
|
void |
CreateOrUpdateActorFolders() |
Updates all actors/folders that refer to folders marked as deleted, reparent to valid folder, deletes folders marked as deleted. |
|
void |
CreateReplicatedDestructionInfo ( |
Populate an entry for Actor in the DestroyedReplicatedStaticActors list |
|
void |
DetachAttachAllActorsPackages ( |
Detach or reattach all level actors to from/to their external package |
|
void |
FixupForPIE ( |
Call on a level that was loaded from disk instead of PIE-duplicating, to fixup actor references |
|
void |
FixupForPIE ( |
Call on a level that was loaded from disk instead of PIE-duplicating, to fixup actor references |
|
void |
ForEachActorFolder ( |
Iterates on all valid level actor folders. |
|
UActorFolder... |
GetActorFolder ( |
Finds the level actor folder by its guid. Returns null if not found. |
|
UActorFolder... |
GetActorFolder ( |
Finds the level actor folder by its path. Returns null if not found. |
|
GetActorPackageName |
Get the package name for this actor |
|
|
GetActorPackageName |
Get the package name for this actor |
|
|
EActorPackag... |
GetActorPackagingScheme() |
Returns the level's actor packaging scheme |
|
EActorPackag... |
GetActorPackagingSchemeFromActorPackageName ( |
Extract the packaging Scheme used by an external actor package based on the name of the package |
|
FLevelCollec... |
GetCachedLevelCollection() |
Returns the cached collection that contains this level, if any. May be null. |
|
ABrush * |
GetDefaultBrush() |
Returns the default brush for this level. |
|
const TArray... |
GetDestroyedReplicatedStaticActors() |
|
|
GetExternalActorPackageInstanceName |
Get a properly formated external actor package instance name for this level package to be used in FLinkerInstancingContext |
|
|
const TCHAR ... |
GetExternalActorsFolderName() |
Get the folder name from which all external actors paths are created |
|
GetExternalActorsPath |
Get the folder containing the external actors for this level |
|
|
GetExternalActorsPath |
Get the folder containing the external actors for this level path |
|
|
GetExternalObjectsPaths |
Get the folders containing the external objects for this level path |
|
|
bool |
GetIsLevelPartitionedFromAsset ( |
|
|
bool |
GetIsLevelPartitionedFromPackage ( |
|
|
bool |
GetIsLevelUsingExternalActorsFromAsset ( |
|
|
bool |
GetIsLevelUsingExternalActorsFromPackage ( |
|
|
bool |
GetIsStreamingDisabledFromAsset ( |
|
|
bool |
GetIsStreamingDisabledFromPackage ( |
|
|
bool |
GetIsUsingActorFoldersFromAsset ( |
|
|
bool |
GetIsUsingActorFoldersFromPackage ( |
|
|
bool |
GetLevelBoundsFromAsset ( |
|
|
bool |
GetLevelBoundsFromPackage ( |
|
|
FVector |
GetLevelInstancePivotOffsetFromAsset ( |
|
|
FVector |
GetLevelInstancePivotOffsetFromPackage ( |
|
|
const ILevel... |
GetLevelPartition() |
Get the level partition assigned to this level, if any |
|
ILevelPartit... |
GetLevelPartition() |
Get the level partition assigned to this level, if any |
|
ALevelScript... |
GetLevelScriptActor() |
Returns the level scripting actor associated with this level |
|
ULevelScript... |
GetLevelScriptBlueprint ( |
Grabs a reference to the level scripting blueprint for this level. |
|
bool |
GetLevelScriptExternalActorsReferencesFromAsset ( |
|
|
bool |
GetLevelScriptExternalActorsReferencesFromPackage |
|
|
GetLoadedExternalObjectPackages() |
Get the list of (loaded) external object packages (actors/folders) associated with this level |
|
|
GetOnDiskExternalActorPackages ( |
Get the list of (on disk) external actor packages associated with this level |
|
|
GetOnDiskExternalActorPackages ( |
Get the list of (on disk) external actor packages associated with this external actors path |
|
|
UMapBuildDat... |
GetOrCreateMapBuildData() |
|
|
bool |
GetPartitionedLevelCanBeUsedByLevelInstanceFromAsset ( |
|
|
bool |
GetPartitionedLevelCanBeUsedByLevelInstanceFromPackage ( |
|
|
bool |
GetPromptWhenAddingToLevelBeforeCheckout() |
|
|
bool |
GetPromptWhenAddingToLevelOutsideBounds() |
|
|
TArray< FVec... |
GetStaticNavigableGeometry() |
|
|
UWorld * |
GetWorld() |
|
|
AWorldDataLa... |
GetWorldDataLayers() |
Returns the world data layers info for this level. |
|
UWorldPartit... |
GetWorldPartition() |
Returns the UWorldPartition for this level. |
|
const IWorld... |
GetWorldPartitionRuntimeCell() |
Returns the RuntimeCell associated with this Level if it is a level representing a cell of a WorldPartition World. |
|
AWorldSettin... |
GetWorldSettings ( |
Returns the world info for this level. |
|
void |
HandleLegacyMapBuildData() |
Creates UMapBuildDataRegistry entries for legacy lightmaps from components loaded for this level. |
|
bool |
HasAnyActorsOfType ( |
Utility searches this level's actor list for any actors of the specified type. |
|
bool |
HasStaticMeshCompilationPending() |
Returns true if the level contains static meshes that have not finished compiling yet. |
|
bool |
HasVisibilityChangeRequestPending() |
Whether the level is currently pending being made invisible or visible. |
|
bool |
IncrementalUnregisterComponents ( |
Incrementally unregisters all components of actors associated with this level. |
|
void |
IncrementalUpdateComponents ( |
Incrementally updates all components of actors associated with this level. |
|
void |
Initialize ( |
Constructor. |
|
void |
InitializeNetworkActors() |
Handles network initialization for actors in this level |
|
void |
InitializeRenderingResources() |
Initializes rendering resources for this level. |
|
void |
InvalidateModelGeometry() |
Invalidates the cached data used to render the level's UModel. |
|
void |
InvalidateModelSurface() |
Discards the cached data used to render the level's UModel. |
|
bool |
IsCurrentLevel() |
Is this the current level in the world it is owned by |
|
bool |
IsFinishedRouteActorInitialization() |
Returns whether the level has completed routing actor initialization. |
|
bool |
IsInstancedLevel() |
Is this a level instance |
|
bool |
IsNetActor ( |
Used internally to determine which actors should go on the world's NetworkActor list. |
|
bool |
IsPartitionedLevel() |
Returns true if the current level is a partitioned level |
|
bool |
IsPartitionSubLevel() |
Returns true if the current level is a sublevel (managed by a parent partitioned level) |
|
bool |
IsPersistentLevel() |
Is this the persistent level |
|
bool |
IsUsingActorFolders() |
Returns true if the level uses actor folders mode. |
|
bool |
IsUsingExternalActors() |
Returns true if the level uses external actors mode. |
|
bool |
IsUsingExternalObjects() |
Returns true if the level uses external objects. |
|
bool |
IsWorldPartitionRuntimeCell() |
Returns if the level is a cell from a WorldPartition World. |
|
FLevelBounds... |
LevelBoundsActorUpdated() |
|
|
void |
MarkLevelBoundsDirty() |
Marks level bounds as dirty so they will be recalculated |
|
void |
MarkLevelComponentsRenderStateDirty() |
Marks all level components render state as dirty |
|
void |
OnApplyNewLightingData ( |
Called after lighting was built and data gets propagated to this level |
|
void |
OnLevelLoaded() |
Called when level is loaded. |
|
void |
OnLevelScriptBlueprintChanged ( |
Called when the level script blueprint has been successfully changed and compiled. |
|
void |
PushPendingAutoReceiveInput ( |
Push any pending auto receive input actor's input components on to the player controller's input stack |
|
void |
RebuildStaticNavigableGeometry() |
Meant to be called only from editor, calculating and storing static geometry to be used with off-line and/or on-line navigation building |
|
void |
RegisterActorForAutoReceiveInput ( |
Register an actor that should be added to a player's input stack when they are created |
|
uint16 |
RegisterStreamableTexture |
|
|
void |
ReleaseRenderingResources() |
Releases rendering resources for this level. |
|
void |
RemoveLoadedActor ( |
Remove a dynamically loaded actor from this level. |
|
void |
RemoveLoadedActors |
Remove a dynamically loaded actor from this level. |
|
void |
ResetNavList() |
Resets the level nav list. |
|
void |
ResetRouteActorInitializationState() |
Method for resetting routing actor initialization for the next time this level is streamed. |
|
void |
RouteActorInitialize ( |
Routes pre and post initialize to actors and also sets volumes. |
|
void |
ScanLevelAssets ( |
Scans/Updates all Level Assets (level package and external packages) |
|
void |
SetCachedLevelCollection ( |
Sets the cached level collection that contains this level. |
|
void |
SetLevelPartition ( |
Assign a level partition to this level |
|
void |
SetLightingScenario ( |
Sets whether this level is a lighting scenario and handles propagating the change. |
|
void |
SetPartitionSubLevel ( |
Setup the provided sublevel so that it is handled by this level's partition |
|
bool |
SetUseActorFolders ( |
Sets if the level uses actor folders mode or not. Returns true if succeeded. |
|
void |
SetUseExternalActors ( |
Sets if the level uses external actors mode or not. |
|
void |
SetWorldDataLayers ( |
|
|
void |
SetWorldSettings ( |
|
|
bool |
ShouldCreateNewExternalActors() |
Returns true if the level wants newly spawned actors to be external |
|
void |
SortActorList() |
Sorts the actor list by net relevancy and static behaviour. |
|
void |
UpdateLevelComponents ( |
Updates all components of actors associated with this level (aka in Actors array) and creates the BSP model components. |
|
void |
UpdateModelComponents() |
Updates the model components associated with this level |
Name | Description | ||
---|---|---|---|
|
void |
BeginCacheForCookedPlatformData ( |
Starts caching of platform specific data for the target platform Called when cooking before serialization so that object can prepare platform specific data Not called during normal loading of objects |
|
void |
BeginDestroy() |
Called before destroying the object. |
|
bool |
CanEditChange ( |
Called by the editor to query whether a property of this object is allowed to be modified. |
|
void |
FinishDestroy() |
Called to finish destroying the object. |
|
bool |
IsNameStableForNetworking() |
IsNameStableForNetworking means an object can be referred to its path name (relative to outer) over the network |
|
bool |
IsReadyForFinishDestroy() |
Called to check if the object is ready for FinishDestroy. |
|
void |
PostEditChangeProperty ( |
Called when a property on this object has been modified externally |
|
void |
PostEditUndo() |
Called after applying a transaction to the object. |
|
void |
PostInitProperties() |
Called after the C++ constructor and after the properties have been initialized, including those loaded from config. |
|
void |
PostLoad() |
Do any object-specific cleanup required immediately after loading an object. |
|
void |
PreDuplicate ( |
Called before duplication. |
|
void |
PreEditUndo() |
Called before applying a transaction to the object. |
|
void |
PreSave ( |
Presave function. |
|
bool |
ResolveSubobject ( |
Called to defer loading a subobject to its top-level container object. |
|
void |
Serialize ( |
Handles reading, writing, and reference collecting using FArchive. |
Name | Description | ||
---|---|---|---|
|
bool |
CanBeClusterRoot() |
Called after load to determine if the object can be a cluster root |
|
void |
CreateCluster() |
Called after PostLoad to create UObject cluster |
Name | Description | ||
---|---|---|---|
|
void |
AddAssetUserData ( |
|
|
UAssetUserDa... |
GetAssetUserDataOfClass ( |
|
|
void |
RemoveUserDataOfClass ( |
Name | Description | ||
---|---|---|---|
|
void |
InitializeTextureStreamingContainer ( |
|
|
uint16 |
RegisterStreamableTexture ( |
Name |
Description |
|
---|---|---|
|
FLevelBoundsActorUpdatedEvent |
Called when Level bounds actor has been updated |
|
FLoadedActorAddedToLevelEvent |
Called when dynamically loaded actor is added to this level |
|
FLoadedActorRemovedFromLevelEvent |
Called when dynamically loaded actor is removed from this level |
Name |
Description |
|
---|---|---|
|
EIncrementalComponentState |
|
|
ERouteActorInitializationState |
Name |
Description |
---|---|
FLevelCleanupEvent |
|
FLevelTransformEvent |
Event on level transform changes. |
Name |
Description |
---|---|
DontLoadExternalObjectsTag |
|
LevelDirtiedEvent |
Called when a level package has been dirtied. |
LoadAllExternalObjectsTag |
|
StreamedLevelsOwningWorld |
Set before calling LoadPackage for a streaming level to ensure that OwningWorld is correct on the Level |
Name | Description | ||
---|---|---|---|
|
TArray< clas... |
GetLevelBlueprints() |
This function is deprecated, we only support having a single level script blueprint. Use GetLevelScriptBlueprint instead. |
|
PRAGMA_DISAB... |
PreSave ( |
Use version that takes FObjectPreSaveContext instead. |