UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
PreLoadScreenManager.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "PreLoadScreen.h"
6
7#include "CoreMinimal.h"
8
10#include "Widgets/SWindow.h"
11
13
14#include "Containers/Ticker.h"
15
17
18
19// Class that handles storing all registered PreLoadScreens and Playing/Stopping them
21{
22public:
23 //Gets the single instance of this settings object. Also creates it if needed
25 static PRELOADSCREEN_API void Create();
26 static PRELOADSCREEN_API void Destroy();
27
29
32
38
44
47
49
51
53
57
58
61
62 static PRELOADSCREEN_API void EnableRendering(bool bEnabled);
64
65 // Callback for handling cleaning up any resources you would like to remove after the PreLoadScreenManager cleans up
66 // Not needed for PreLoadScreens as those have a separate CleanUp method called.
69
72
73protected:
74 //Default constructor. We don't want other classes to make these. Should just rely on Get()
76
78
80
82
83 /*** These functions describe the flow for an EarlyPreLoadScreen where everything is blocking waiting on a call to StopPreLoadScreen ***/
85 //Separate tick that handles
90
92
93 //Creates a tick on the Render Thread that we run every
96
97 /*** These functions describe how everything is handled during an non-Early PreLoadPlay. Everything is handled asynchronously in this case with a standalone renderer ***/
99
100 /*** These functions describe the flow for showing an CustomSplashScreen ***/
102
105
108
109 static void OnRequestExit();
110
111 //Singleton Instance
113 {
115 {
116 delete Ptr;
117 }
118 };
120
121 static PRELOADSCREEN_API std::atomic<bool> bRenderingEnabled;
122
125
127
130
133
136
139
141
145
148
150
153
154private:
155#if PLATFORM_ANDROID
157#endif //PLATFORM_ANDROID
158
159#if PLATFORM_IOS
161#endif //PLATFORM_IOS
162};
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE::FPlatformRecursiveMutex FCriticalSection
Definition CriticalSection.h:53
EPreLoadScreenTypes
Definition PreLoadScreen.h:10
Definition NameTypes.h:617
Definition PreLoadScreenManager.h:21
static PRELOADSCREEN_API std::atomic< bool > bRenderingEnabled
Definition PreLoadScreenManager.h:121
PRELOADSCREEN_API bool HasRegisteredPreLoadScreenType(EPreLoadScreenTypes PreLoadScreenTypeToCheck) const
Definition PreLoadScreenManager.cpp:416
PRELOADSCREEN_API void PlayPreLoadScreenAtIndex(int32 Index)
Definition PreLoadScreenManager.cpp:174
PRELOADSCREEN_API void HandleEngineLoadingPlay()
Definition PreLoadScreenManager.cpp:289
bool bIsResponsibleForRendering
Definition PreLoadScreenManager.h:146
static void OnRequestExit()
Definition PreLoadScreenManager.cpp:76
static FCriticalSection ActivePreloadScreenCriticalSection
Definition PreLoadScreenManager.h:123
PRELOADSCREEN_API bool HasActivePreLoadScreenTypeForEarlyStartup() const
Definition PreLoadScreenManager.cpp:451
PRELOADSCREEN_API IPreLoadScreen * GetActivePreLoadScreen()
Definition PreLoadScreenManager.cpp:441
double LastTickTime
Definition PreLoadScreenManager.h:129
bool bHasRenderPreLoadScreenFrame_RenderThread
Definition PreLoadScreenManager.h:147
static PRELOADSCREEN_API void StaticRenderTick_RenderThread(FRHICommandListImmediate &RHICmdList)
Definition PreLoadScreenManager.cpp:382
FOnPreLoadScreenManagerCleanUp OnPreLoadScreenManagerCleanUp
Definition PreLoadScreenManager.h:68
PRELOADSCREEN_API bool HasValidActivePreLoadScreen() const
Definition PreLoadScreenManager.cpp:435
PRELOADSCREEN_API void WaitForEngineLoadingScreenToFinish()
Definition PreLoadScreenManager.cpp:661
DECLARE_MULTICAST_DELEGATE(FOnPreLoadScreenManagerCleanUp)
static PRELOADSCREEN_API bool ArePreLoadScreensEnabled()
Definition PreLoadScreenManager.cpp:711
PRELOADSCREEN_API TSharedPtr< SWindow > GetRenderWindow()
Definition PreLoadScreenManager.cpp:656
int32 ActivePreLoadScreenIndex
Definition PreLoadScreenManager.h:128
friend FPreLoadScreenSlateSynchMechanism
Definition PreLoadScreenManager.h:144
TSharedPtr< FPreLoadSlateWidgetRenderer > WidgetRenderer
Definition PreLoadScreenManager.h:132
float OriginalSlateSleepVariableValue
Definition PreLoadScreenManager.h:151
PRELOADSCREEN_API void HandleStopPreLoadScreen()
Definition PreLoadScreenManager.cpp:608
TArray< TSharedPtr< IPreLoadScreen > > PreLoadScreens
Definition PreLoadScreenManager.h:126
TWeakPtr< class SWindow > MainWindow
Definition PreLoadScreenManager.h:135
PRELOADSCREEN_API bool IsUsingMainWindow() const
Definition PreLoadScreenManager.cpp:651
static PRELOADSCREEN_API void Create()
Definition PreLoadScreenManager.cpp:43
~FPreLoadScreenManager()=default
TSharedPtr< class SVirtualWindow > VirtualRenderWindow
Definition PreLoadScreenManager.h:138
PRELOADSCREEN_API bool PlayFirstPreLoadScreen(EPreLoadScreenTypes PreLoadScreenTypeToPlay)
Definition PreLoadScreenManager.cpp:161
static TWeakPtr< IPreLoadScreen > ActivePreloadScreen
Definition PreLoadScreenManager.h:124
PRELOADSCREEN_API void PlatformSpecificGameLogicFrameTick()
Definition PreLoadScreenManager.cpp:513
PRELOADSCREEN_API void HandleCustomSplashScreenPlay()
Definition PreLoadScreenManager.cpp:342
PRELOADSCREEN_API void GameLogicFrameTick()
Definition PreLoadScreenManager.cpp:465
DECLARE_MULTICAST_DELEGATE_OneParam(FIsPreloadScreenResponsibleForRenderingMultiDelegate, bool)
PRELOADSCREEN_API void SetEngineLoadingComplete(bool IsEngineLoadingFinished=true)
Definition PreLoadScreenManager.cpp:700
bool bInitialized
Definition PreLoadScreenManager.h:140
bool IsEngineLoadingComplete() const
Definition PreLoadScreenManager.h:60
bool bIsEngineLoadingComplete
Definition PreLoadScreenManager.h:152
PRELOADSCREEN_API FPreLoadScreenManager()
Definition PreLoadScreenManager.cpp:64
PRELOADSCREEN_API void BeginPlay()
PRELOADSCREEN_API void PassPreLoadScreenWindowBackToGame() const
Definition PreLoadScreenManager.cpp:635
PRELOADSCREEN_API void UnRegisterPreLoadScreen(const TSharedPtr< IPreLoadScreen > &PreLoadScreen)
Definition PreLoadScreenManager.cpp:132
double LastRenderTickTime
Definition PreLoadScreenManager.h:149
PRELOADSCREEN_API void EarlyPlayRenderFrameTick()
Definition PreLoadScreenManager.cpp:529
PRELOADSCREEN_API void HandleEarlyStartupPlay()
Definition PreLoadScreenManager.cpp:242
PRELOADSCREEN_API bool HasActivePreLoadScreenType(EPreLoadScreenTypes PreLoadScreenTypeToCheck) const
Definition PreLoadScreenManager.cpp:430
static PRELOADSCREEN_API void EnableRendering(bool bEnabled)
Definition PreLoadScreenManager.cpp:524
FIsPreloadScreenResponsibleForRenderingMultiDelegate IsResponsibleForRenderingDelegate
Definition PreLoadScreenManager.h:71
FPreLoadScreenSlateSynchMechanism * SyncMechanism
Definition PreLoadScreenManager.h:143
PRELOADSCREEN_API void CleanUpResources()
Definition PreLoadScreenManager.cpp:722
static PRELOADSCREEN_API TUniquePtr< FPreLoadScreenManager, FPreLoadScreenManagerDelete > Instance
Definition PreLoadScreenManager.h:119
static PRELOADSCREEN_API void Destroy()
Definition PreLoadScreenManager.cpp:53
PRELOADSCREEN_API void StopPreLoadScreen()
Definition PreLoadScreenManager.cpp:593
static PRELOADSCREEN_API FPreLoadScreenManager * Get()
Definition PreLoadScreenManager.cpp:38
PRELOADSCREEN_API void RenderTick_RenderThread(FRHICommandListImmediate &RHICmdList)
Definition PreLoadScreenManager.cpp:393
PRELOADSCREEN_API void RegisterPreLoadScreen(const TSharedPtr< IPreLoadScreen > &PreLoadScreen)
Definition PreLoadScreenManager.cpp:125
PRELOADSCREEN_API void EarlyPlayFrameTick()
Definition PreLoadScreenManager.cpp:456
PRELOADSCREEN_API bool PlayPreLoadScreenWithTag(FName InTag)
Definition PreLoadScreenManager.cpp:229
Definition PreLoadSlateThreading.h:78
Definition RHICommandList.h:4626
Definition SlateRenderer.h:173
Definition PreLoadScreen.h:20
Definition PreLoadScreen.Build.cs:6
Definition Array.h:670
Definition SharedPointer.h:692
Definition UniquePtr.h:107
Definition SharedPointer.h:1295
U16 Index
Definition radfft.cpp:71
Definition PreLoadScreenManager.h:113
void operator()(FPreLoadScreenManager *Ptr) const
Definition PreLoadScreenManager.h:114