UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
WorldSubsystem.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "Subsystem.h"
7#include "Tickable.h"
8#include "WorldSubsystem.generated.h"
9
14UCLASS(Abstract, MinimalAPI)
16{
18
19public:
21
22 ENGINE_API virtual UWorld* GetWorld() const override final;
23
28 ENGINE_API UWorld& GetWorldRef() const;
29
30 ENGINE_API virtual bool ShouldCreateSubsystem(UObject* Outer) const override;
31
37
39 ENGINE_API virtual void PostInitialize();
40
42 virtual void PreDeinitialize() {}
43
45 ENGINE_API virtual void OnWorldBeginPlay(UWorld& InWorld);
46
48 virtual void OnWorldEndPlay(UWorld& InWorld) {}
49
52
53 ENGINE_API void EnsureHasCalledPostInitialize() const;
54
55 ENGINE_API void EnsureHasCalledBeginPlay() const;
56
57 UE_DEPRECATED(5.5, "Implement IStreamingWorldSubsystemInterface instead.")
58 ENGINE_API virtual void UpdateStreamingState();
59
61 ENGINE_API virtual bool DoesSupportWorldType(const EWorldType::Type WorldType) const;
62
63 bool bHasCalledPostInitialize : 1 = false;
64 bool bHasCalledBeginPlay : 1 = false;
65};
66
74UCLASS(Abstract, MinimalAPI)
76{
78
79public:
81
82 // FTickableGameObject implementation Begin
83 ENGINE_API UWorld* GetTickableGameObjectWorld() const override;
84 ENGINE_API virtual ETickableTickType GetTickableTickType() const override;
85 ENGINE_API virtual bool IsAllowedToTick() const override final;
86 ENGINE_API virtual void Tick(float DeltaTime) override;
87 virtual TStatId GetStatId() const override PURE_VIRTUAL(UTickableWorldSubsystem::GetStatId, return TStatId(););
88 // FTickableGameObject implementation End
89
90 // USubsystem implementation Begin
92 ENGINE_API virtual void Deinitialize() override;
93 ENGINE_API virtual void BeginDestroy() override;
94 // USubsystem implementation End
95
97 bool IsInitialized() const { return bInitialized; }
98
99private:
100 bool bInitialized = false;
101};
#define PURE_VIRTUAL(func,...)
Definition CoreMiscDefines.h:103
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UCLASS(...)
Definition ObjectMacros.h:776
ETickableTickType
Definition Tickable.h:20
Definition SubsystemCollection.h:15
Definition Tickable.h:135
Definition Object.h:95
Definition Subsystem.h:48
Definition WorldSubsystem.h:76
virtual TStatId GetStatId() const override PURE_VIRTUAL(UTickableWorldSubsystem
Definition WorldSubsystem.h:87
Definition WorldSubsystem.h:16
virtual void PreDeinitialize()
Definition WorldSubsystem.h:42
virtual void OnWorldComponentsUpdated(UWorld &World)
Definition WorldSubsystem.h:51
virtual void OnWorldEndPlay(UWorld &InWorld)
Definition WorldSubsystem.h:48
Definition World.h:918
Definition EngineTypes.h:1262
@ false
Definition radaudio_common.h:23
Definition LightweightStats.h:416