UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
World.cpp File Reference
#include "Engine/World.h"
#include "Engine/ChildConnection.h"
#include "Engine/GameInstance.h"
#include "Engine/CollisionProfile.h"
#include "Engine/PawnIterator.h"
#include "Engine/GameViewportClient.h"
#include "HAL/FileManager.h"
#include "Engine/PendingNetGame.h"
#include "Misc/Paths.h"
#include "Logging/LogScopedCategoryAndVerbosityOverride.h"
#include "Logging/LogScopedVerbosityOverride.h"
#include "Particles/ParticleSystemComponent.h"
#include "StateStreamManager.h"
#include "Stats/StatsMisc.h"
#include "Misc/ScopedSlowTask.h"
#include "SceneInterface.h"
#include "UObject/AssetRegistryTagsContext.h"
#include "UObject/ObjectRedirector.h"
#include "SceneView.h"
#include "UObject/ObjectSaveContext.h"
#include "UObject/UObjectAnnotation.h"
#include "Misc/PackageName.h"
#include "Misc/DataValidation.h"
#include "GameMapsSettings.h"
#include "TimerManager.h"
#include "AI/NavigationSystemBase.h"
#include "Engine/MapBuildDataRegistry.h"
#include "Model.h"
#include "Engine/LevelBounds.h"
#include "UObject/MetaData.h"
#include "Serialization/ArchiveReplaceObjectRef.h"
#include "Engine/Canvas.h"
#include "GameFramework/DefaultPhysicsVolume.h"
#include "RendererInterface.h"
#include "DataDrivenShaderPlatformInfo.h"
#include "Engine/LevelStreaming.h"
#include "Engine/LevelStreamingGCHelper.h"
#include "Engine/StaticMesh.h"
#include "Materials/MaterialInstance.h"
#include "Engine/LocalPlayer.h"
#include "ComponentReregisterContext.h"
#include "UnrealEngine.h"
#include "Framework/Application/SlateApplication.h"
#include "Engine/LevelScriptActor.h"
#include "Engine/CullDistanceVolume.h"
#include "Engine/Console.h"
#include "Engine/WorldComposition.h"
#include "ExternalPackageHelper.h"
#include "WorldPartition/WorldPartition.h"
#include "WorldPartition/DataLayer/DataLayerManager.h"
#include "WorldPartition/DataLayer/WorldDataLayers.h"
#include "WorldPartition/WorldPartitionActorDescUtils.h"
#include "GameFramework/GameNetworkManager.h"
#include "GameFramework/CharacterMovementComponent.h"
#include "Net/NetworkProfiler.h"
#include "TickTaskManagerInterface.h"
#include "FXSystem.h"
#include "AudioDevice.h"
#include "VisualLogger/VisualLogger.h"
#include "LevelUtils.h"
#include "Physics/Experimental/PhysScene_Chaos.h"
#include "AI/AISystemBase.h"
#include "Camera/CameraActor.h"
#include "Engine/NetworkObjectList.h"
#include "GameFramework/GameStateBase.h"
#include "PhysicsEngine/PhysicsConstraintComponent.h"
#include "Physics/Experimental/ChaosEventRelay.h"
#include "Components/BrushComponent.h"
#include "Engine/Polys.h"
#include "Components/ModelComponent.h"
#include "Engine/LevelScriptBlueprint.h"
#include "Engine/DemoNetDriver.h"
#include "VT/LightmapVirtualTexture.h"
#include "Materials/MaterialParameterCollectionInstance.h"
#include "ProfilingDebugging/LoadTimeTracker.h"
#include "Streaming/ServerStreamingLevelsVisibility.h"
#include "Streaming/LevelStreamingDelegates.h"
#include "Streaming/StreamingWorldSubsystemInterface.h"
#include "Components/UnregisterComponentContext.h"
#include "Misc/ScopeRWLock.h"
#include "Chaos/ChaosDebugNameDefines.h"
#include "PhysicsField/PhysicsFieldComponent.h"
#include "EngineModule.h"
#include "Streaming/TextureStreamingHelpers.h"
#include "Net/DataChannel.h"
#include "Engine/LevelStreamingPersistent.h"
#include "AI/Navigation/AvoidanceManager.h"
#include "PhysicsEngine/PhysicsConstraintActor.h"
#include "PhysicsEngine/PhysicsCollisionHandler.h"
#include "Engine/ShadowMapTexture2D.h"
#include "Components/LineBatchComponent.h"
#include "Materials/MaterialParameterCollection.h"
#include "PhysicsEngine/PhysicsSettings.h"
#include "Engine/LightMapTexture2D.h"
#include "UObject/UObjectThreadContext.h"
#include "Engine/CoreSettings.h"
#include "Net/PerfCountersHelpers.h"
#include "InGamePerformanceTracker.h"
#include "Engine/AssetManager.h"
#include "Templates/GuardValueAccessors.h"
#include "Engine/HLODProxy.h"
#include "MoviePlayerProxy.h"
#include "ObjectTrace.h"
#include "ReplaySubsystem.h"
#include "Net/NetPing.h"
#include "AssetRegistry/AssetRegistryModule.h"
#include "ProfilingDebugging/CountersTrace.h"
#include "Streaming/AsyncRegisterLevelContext.h"
#include "Iris/ReplicationSystem/ReplicationSystem.h"
#include "Net/Iris/ReplicationSystem/EngineReplicationBridge.h"
#include "ChaosSolversModule.h"
#include "HAL/LowLevelMemStats.h"
#include "ProfilingDebugging/AssetMetadataTrace.h"

Classes

struct  UE::Private::World::FStreamingLevelsToConsiderIterationScope
 
class  FAdaptiveAddToWorld
 
class  FArchiveReplaceOrClearGarbageReferences< T >
 

Namespaces

namespace  UE
 
namespace  UE::Private
 
namespace  UE::Private::World
 
namespace  UE::Gameplay
 
namespace  UE::Gameplay::CVars
 

Macros

#define LOCTEXT_NAMESPACE   "World"
 
#define SCOPE_TIME_TO_VAR(V)
 

Functions

 DEFINE_LOG_CATEGORY_STATIC (LogWorld, Log, All)
 
 DEFINE_LOG_CATEGORY (LogSpawn)
 
 CSV_DECLARE_CATEGORY_MODULE_EXTERN (CORE_API, Basic)
 
 CSV_DEFINE_CATEGORY (LevelStreamingProfiling, true)
 
 CSV_DEFINE_CATEGORY (LevelStreamingAdaptive, true)
 
 CSV_DEFINE_CATEGORY (LevelStreamingAdaptiveDetail, false)
 
 CSV_DEFINE_CATEGORY (LevelStreamingDetail, false)
 
 TRACE_DECLARE_INT_COUNTER (NumStreamingLevelsToConsider, TEXT("LevelStreamingProfiling/NumStreamingLevelsToConsider"))
 
void UE::Private::World::ParseAndSetClientHandshakeId (FURL &InUrl, UNetConnection *Connection)
 
int32 UE::Private::World::GetLocalPlayerIdentifier (FURL &InUrl)
 
 DEFINE_STAT (STAT_AddToWorldTime)
 
 DEFINE_STAT (STAT_RemoveFromWorldTime)
 
 DEFINE_STAT (STAT_UpdateLevelStreamingTime)
 
 DEFINE_STAT (STAT_ManageLevelsToConsider)
 
 DEFINE_STAT (STAT_UpdateStreamingState)
 
void ValidateComponentsRegistration (UWorld *World)
 
const FString GetMapNameStatic ()
 
FString ToString (EWorldType::Type Type)
 
FString ENGINE_API ToString (ENetMode NetMode)
 

Variables

FAutoConsoleVariableRef CVarLevelVisibilityPrioritySort (TEXT("LevelStreaming.VisibilityPrioritySort"), GLevelVisibilityPrioritySort, TEXT("3 - Interleave adds and removes, starting with remove\n"))
 
FAutoConsoleVariableRef CVarDisableRemapScriptActors (TEXT("net.DisableRemapScriptActors"), bDisableRemapScriptActors, TEXT("When set, disables name remapping of compiled script actors (for networking)"))
 
FAutoConsoleVariableRef CVarDisableInGamePerfTrackersForUninitializedWorlds (TEXT("s.World.SkipPerfTrackerForUninitializedWorlds"), bDisableInGamePerfTrackersForUninitializedWorlds, TEXT("When set, disables allocation of InGamePerformanceTrackers for Worlds that aren't initialized."))
 
FAutoConsoleVariableRef CVarCreateStaticLevelCollection (TEXT("s.World.CreateStaticLevelCollection"), bCreateStaticLevelCollection, TEXT("If this is 0, static streaming levels will be part of the main DynamicSourceLevels collection."))
 
FAutoConsoleVariableRef CVarShouldInitWorldReleaseScene (TEXT("s.World.ShouldInitWorldReleaseScene"), GShouldInitWorldReleaseScene, TEXT("Set to false to revert to earlier behavior (causes leaking Scene and associated resources in certain situations)."), ECVF_Default)
 
FAutoConsoleVariableRef CVarIncorrectComponentUnregistrationIsFatal (TEXT("s.World.IncorrectComponentUnregistrationIsFatal"), bIncorrectComponentUnregistrationIsFatal, TEXT("When set, incorrect component unregistration will log a fatal error."))
 
FAutoConsoleVariableRef CVarForceFlushAllAsyncLoadsDuringLevelStreaming (TEXT("s.World.ForceFlushAllAsyncLoadsDuringLevelStreaming"), bForceFlushAllAsyncLoadsDuringLevelStreaming, TEXT("When set, level streaming will wait for all outstanding async loads globally."))
 
FAutoConsoleVariableRef CVarAdaptiveAddToWorldEnabled (TEXT("s.AdaptiveAddToWorld.Enabled"), GAdaptiveAddToWorldEnabled, TEXT("Enables the adaptive AddToWorld timeslice (replaces s.LevelStreamingActorsUpdateTimeLimit) (default: off)"))
 
FAutoConsoleVariableRef CVarAdaptiveAddToWorldMethod (TEXT("s.AdaptiveAddToWorld.Method"), GAdaptiveAddToWorldMethod, TEXT("1 - compute the target timeslice based on total work time for levels in flight (this avoids slowing before a level completes)\n"))
 
FAutoConsoleVariableRef CVarAdaptiveAddToWorldTimeSliceMin (TEXT("s.AdaptiveAddToWorld.AddToWorldTimeSliceMin"), GAdaptiveAddToWorldTimeSliceMin, TEXT("Minimum adaptive AddToWorld timeslice"))
 
FAutoConsoleVariableRef CVarAdaptiveAddToWorldTimeSliceMax (TEXT("s.AdaptiveAddToWorld.AddToWorldTimeSliceMax"), GAdaptiveAddToWorldTimeSliceMax, TEXT("Maximum adaptive AddToWorld timeslice"))
 
FAutoConsoleVariableRef CVarAdaptiveAddToWorldTargetMaxTimeRemaining (TEXT("s.AdaptiveAddToWorld.TargetMaxTimeRemaining"), GAdaptiveAddToWorldTargetMaxTimeRemaining, TEXT("Target max time remaining in seconds. If our estimated completion time is longer than this, the timeslice will increase. Lower values are more aggressive"))
 
FAutoConsoleVariableRef CVarAdaptiveAddToWorldTimeSliceMaxIncreasePerSecond (TEXT("s.AdaptiveAddToWorld.TimeSliceMaxIncreasePerSecond"), GAdaptiveAddToWorldTimeSliceMaxIncreasePerSecond, TEXT("Max rate at which the adptive AddToWorld timeslice will increase. Set to 0 to increase instantly"))
 
FAutoConsoleVariableRef CVarAdaptiveAddToWorldTimesliceReductionSpeedPerSecond (TEXT("s.AdaptiveAddToWorld.TimeSliceMaxReducePerSecond"), GAdaptiveAddToWorldTimeSliceMaxReducePerSecond, TEXT("Max rate at which the adptive AddToWorld timeslice will reduce. Set to 0 to reduce instantly"))
 
UWorldProxy GWorld
 
 PRAGMA_DISABLE_DEPRECATION_WARNINGS
 
 PRAGMA_ENABLE_DEPRECATION_WARNINGS
 
PRAGMA_ENABLE_DEPRECATION_WARNINGS ENGINE_API bool GIsLowMemory
 

Macro Definition Documentation

◆ LOCTEXT_NAMESPACE

#define LOCTEXT_NAMESPACE   "World"

◆ SCOPE_TIME_TO_VAR

#define SCOPE_TIME_TO_VAR (   V)

Empty macro, when not doing timing

Function Documentation

◆ CSV_DECLARE_CATEGORY_MODULE_EXTERN()

CSV_DECLARE_CATEGORY_MODULE_EXTERN ( CORE_API  ,
Basic   
)

◆ CSV_DEFINE_CATEGORY() [1/4]

CSV_DEFINE_CATEGORY ( LevelStreamingAdaptive  ,
true   
)

◆ CSV_DEFINE_CATEGORY() [2/4]

CSV_DEFINE_CATEGORY ( LevelStreamingAdaptiveDetail  ,
false   
)

◆ CSV_DEFINE_CATEGORY() [3/4]

CSV_DEFINE_CATEGORY ( LevelStreamingDetail  ,
false   
)

◆ CSV_DEFINE_CATEGORY() [4/4]

CSV_DEFINE_CATEGORY ( LevelStreamingProfiling  ,
true   
)

◆ DEFINE_LOG_CATEGORY()

DEFINE_LOG_CATEGORY ( LogSpawn  )

◆ DEFINE_LOG_CATEGORY_STATIC()

DEFINE_LOG_CATEGORY_STATIC ( LogWorld  ,
Log  ,
All   
)

◆ DEFINE_STAT() [1/5]

DEFINE_STAT ( STAT_AddToWorldTime  )

◆ DEFINE_STAT() [2/5]

DEFINE_STAT ( STAT_ManageLevelsToConsider  )

◆ DEFINE_STAT() [3/5]

DEFINE_STAT ( STAT_RemoveFromWorldTime  )

◆ DEFINE_STAT() [4/5]

DEFINE_STAT ( STAT_UpdateLevelStreamingTime  )

◆ DEFINE_STAT() [5/5]

DEFINE_STAT ( STAT_UpdateStreamingState  )

◆ GetMapNameStatic()

const FString GetMapNameStatic ( )

This is our global function for retrieving the current MapName

◆ ToString() [1/2]

FString ENGINE_API ToString ( ENetMode  NetMode)

◆ ToString() [2/2]

FString ToString ( EWorldType::Type  Type)

◆ TRACE_DECLARE_INT_COUNTER()

TRACE_DECLARE_INT_COUNTER ( NumStreamingLevelsToConsider  ,
TEXT("LevelStreamingProfiling/NumStreamingLevelsToConsider"  
)

◆ ValidateComponentsRegistration()

void ValidateComponentsRegistration ( UWorld World)

Variable Documentation

◆ CVarAdaptiveAddToWorldEnabled

FAutoConsoleVariableRef CVarAdaptiveAddToWorldEnabled(TEXT("s.AdaptiveAddToWorld.Enabled"), GAdaptiveAddToWorldEnabled, TEXT("Enables the adaptive AddToWorld timeslice (replaces s.LevelStreamingActorsUpdateTimeLimit) (default: off)")) ( TEXT("s.AdaptiveAddToWorld.Enabled")  ,
GAdaptiveAddToWorldEnabled  ,
TEXT("Enables the adaptive AddToWorld timeslice (replaces s.LevelStreamingActorsUpdateTimeLimit) (default: off)")   
)

◆ CVarAdaptiveAddToWorldMethod

FAutoConsoleVariableRef CVarAdaptiveAddToWorldMethod(TEXT("s.AdaptiveAddToWorld.Method"), GAdaptiveAddToWorldMethod, TEXT("1 - compute the target timeslice based on total work time for levels in flight (this avoids slowing before a level completes)\n")) ( TEXT("s.AdaptiveAddToWorld.Method")  ,
GAdaptiveAddToWorldMethod  ,
TEXT("1 - compute the target timeslice based on total work time for levels in flight (this avoids slowing before a level completes)\n"  
)

◆ CVarAdaptiveAddToWorldTargetMaxTimeRemaining

FAutoConsoleVariableRef CVarAdaptiveAddToWorldTargetMaxTimeRemaining(TEXT("s.AdaptiveAddToWorld.TargetMaxTimeRemaining"), GAdaptiveAddToWorldTargetMaxTimeRemaining, TEXT("Target max time remaining in seconds. If our estimated completion time is longer than this, the timeslice will increase. Lower values are more aggressive")) ( TEXT("s.AdaptiveAddToWorld.TargetMaxTimeRemaining")  ,
GAdaptiveAddToWorldTargetMaxTimeRemaining  ,
TEXT("Target max time remaining in seconds. If our estimated completion time is longer than this, the timeslice will increase. Lower values are more aggressive"  
)

◆ CVarAdaptiveAddToWorldTimeSliceMax

FAutoConsoleVariableRef CVarAdaptiveAddToWorldTimeSliceMax(TEXT("s.AdaptiveAddToWorld.AddToWorldTimeSliceMax"), GAdaptiveAddToWorldTimeSliceMax, TEXT("Maximum adaptive AddToWorld timeslice")) ( TEXT("s.AdaptiveAddToWorld.AddToWorldTimeSliceMax")  ,
GAdaptiveAddToWorldTimeSliceMax  ,
TEXT("Maximum adaptive AddToWorld timeslice"  
)

◆ CVarAdaptiveAddToWorldTimeSliceMaxIncreasePerSecond

FAutoConsoleVariableRef CVarAdaptiveAddToWorldTimeSliceMaxIncreasePerSecond(TEXT("s.AdaptiveAddToWorld.TimeSliceMaxIncreasePerSecond"), GAdaptiveAddToWorldTimeSliceMaxIncreasePerSecond, TEXT("Max rate at which the adptive AddToWorld timeslice will increase. Set to 0 to increase instantly")) ( TEXT("s.AdaptiveAddToWorld.TimeSliceMaxIncreasePerSecond")  ,
GAdaptiveAddToWorldTimeSliceMaxIncreasePerSecond  ,
TEXT("Max rate at which the adptive AddToWorld timeslice will increase. Set to 0 to increase instantly"  
)

◆ CVarAdaptiveAddToWorldTimeSliceMin

FAutoConsoleVariableRef CVarAdaptiveAddToWorldTimeSliceMin(TEXT("s.AdaptiveAddToWorld.AddToWorldTimeSliceMin"), GAdaptiveAddToWorldTimeSliceMin, TEXT("Minimum adaptive AddToWorld timeslice")) ( TEXT("s.AdaptiveAddToWorld.AddToWorldTimeSliceMin")  ,
GAdaptiveAddToWorldTimeSliceMin  ,
TEXT("Minimum adaptive AddToWorld timeslice"  
)

◆ CVarAdaptiveAddToWorldTimesliceReductionSpeedPerSecond

FAutoConsoleVariableRef CVarAdaptiveAddToWorldTimesliceReductionSpeedPerSecond(TEXT("s.AdaptiveAddToWorld.TimeSliceMaxReducePerSecond"), GAdaptiveAddToWorldTimeSliceMaxReducePerSecond, TEXT("Max rate at which the adptive AddToWorld timeslice will reduce. Set to 0 to reduce instantly")) ( TEXT("s.AdaptiveAddToWorld.TimeSliceMaxReducePerSecond")  ,
GAdaptiveAddToWorldTimeSliceMaxReducePerSecond  ,
TEXT("Max rate at which the adptive AddToWorld timeslice will reduce. Set to 0 to reduce instantly"  
)

◆ CVarCreateStaticLevelCollection

FAutoConsoleVariableRef CVarCreateStaticLevelCollection(TEXT("s.World.CreateStaticLevelCollection"), bCreateStaticLevelCollection, TEXT("If this is 0, static streaming levels will be part of the main DynamicSourceLevels collection.")) ( TEXT("s.World.CreateStaticLevelCollection")  ,
bCreateStaticLevelCollection  ,
TEXT("If this is 0, static streaming levels will be part of the main DynamicSourceLevels collection."  
)

◆ CVarDisableInGamePerfTrackersForUninitializedWorlds

FAutoConsoleVariableRef CVarDisableInGamePerfTrackersForUninitializedWorlds(TEXT("s.World.SkipPerfTrackerForUninitializedWorlds"), bDisableInGamePerfTrackersForUninitializedWorlds, TEXT("When set, disables allocation of InGamePerformanceTrackers for Worlds that aren't initialized.")) ( TEXT("s.World.SkipPerfTrackerForUninitializedWorlds")  ,
bDisableInGamePerfTrackersForUninitializedWorlds  ,
TEXT("When set, disables allocation of InGamePerformanceTrackers for Worlds that aren't initialized."  
)

◆ CVarDisableRemapScriptActors

FAutoConsoleVariableRef CVarDisableRemapScriptActors(TEXT("net.DisableRemapScriptActors"), bDisableRemapScriptActors, TEXT("When set, disables name remapping of compiled script actors (for networking)")) ( TEXT("net.DisableRemapScriptActors")  ,
bDisableRemapScriptActors  ,
TEXT("When set, disables name remapping of compiled script actors (for networking)")   
)

◆ CVarForceFlushAllAsyncLoadsDuringLevelStreaming

FAutoConsoleVariableRef CVarForceFlushAllAsyncLoadsDuringLevelStreaming(TEXT("s.World.ForceFlushAllAsyncLoadsDuringLevelStreaming"), bForceFlushAllAsyncLoadsDuringLevelStreaming, TEXT("When set, level streaming will wait for all outstanding async loads globally.")) ( TEXT("s.World.ForceFlushAllAsyncLoadsDuringLevelStreaming")  ,
bForceFlushAllAsyncLoadsDuringLevelStreaming  ,
TEXT("When set, level streaming will wait for all outstanding async loads globally."  
)

◆ CVarIncorrectComponentUnregistrationIsFatal

FAutoConsoleVariableRef CVarIncorrectComponentUnregistrationIsFatal(TEXT("s.World.IncorrectComponentUnregistrationIsFatal"), bIncorrectComponentUnregistrationIsFatal, TEXT("When set, incorrect component unregistration will log a fatal error.")) ( TEXT("s.World.IncorrectComponentUnregistrationIsFatal")  ,
bIncorrectComponentUnregistrationIsFatal  ,
TEXT("When set, incorrect component unregistration will log a fatal error."  
)

◆ CVarLevelVisibilityPrioritySort

FAutoConsoleVariableRef CVarLevelVisibilityPrioritySort(TEXT("LevelStreaming.VisibilityPrioritySort"), GLevelVisibilityPrioritySort, TEXT("3 - Interleave adds and removes, starting with remove\n")) ( TEXT("LevelStreaming.VisibilityPrioritySort")  ,
GLevelVisibilityPrioritySort  ,
TEXT("3 - Interleave adds and removes, starting with remove\n"  
)

◆ CVarShouldInitWorldReleaseScene

FAutoConsoleVariableRef CVarShouldInitWorldReleaseScene(TEXT("s.World.ShouldInitWorldReleaseScene"), GShouldInitWorldReleaseScene, TEXT("Set to false to revert to earlier behavior (causes leaking Scene and associated resources in certain situations)."), ECVF_Default) ( TEXT("s.World.ShouldInitWorldReleaseScene")  ,
GShouldInitWorldReleaseScene  ,
TEXT("Set to false to revert to earlier behavior (causes leaking Scene and associated resources in certain situations).")  ,
ECVF_Default   
)

◆ GIsLowMemory

◆ GWorld

UWorldProxy GWorld

Global world pointer

◆ PRAGMA_DISABLE_DEPRECATION_WARNINGS

PRAGMA_DISABLE_DEPRECATION_WARNINGS

◆ PRAGMA_ENABLE_DEPRECATION_WARNINGS

PRAGMA_ENABLE_DEPRECATION_WARNINGS