UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FPreLoadScreenManager Class Reference

#include <PreLoadScreenManager.h>

Classes

struct  FPreLoadScreenManagerDelete
 

Public Member Functions

PRELOADSCREEN_API void Initialize (FSlateRenderer &InSlateRenderer)
 
PRELOADSCREEN_API void RegisterPreLoadScreen (const TSharedPtr< IPreLoadScreen > &PreLoadScreen)
 
PRELOADSCREEN_API void UnRegisterPreLoadScreen (const TSharedPtr< IPreLoadScreen > &PreLoadScreen)
 
PRELOADSCREEN_API bool PlayFirstPreLoadScreen (EPreLoadScreenTypes PreLoadScreenTypeToPlay)
 
PRELOADSCREEN_API bool PlayPreLoadScreenWithTag (FName InTag)
 
PRELOADSCREEN_API void StopPreLoadScreen ()
 
PRELOADSCREEN_API void WaitForEngineLoadingScreenToFinish ()
 
PRELOADSCREEN_API void PassPreLoadScreenWindowBackToGame () const
 
PRELOADSCREEN_API bool IsUsingMainWindow () const
 
PRELOADSCREEN_API TSharedPtr< SWindowGetRenderWindow ()
 
PRELOADSCREEN_API bool HasRegisteredPreLoadScreenType (EPreLoadScreenTypes PreLoadScreenTypeToCheck) const
 
PRELOADSCREEN_API bool HasActivePreLoadScreenType (EPreLoadScreenTypes PreLoadScreenTypeToCheck) const
 
PRELOADSCREEN_API bool HasValidActivePreLoadScreen () const
 
PRELOADSCREEN_API void SetEngineLoadingComplete (bool IsEngineLoadingFinished=true)
 
bool IsEngineLoadingComplete () const
 
 DECLARE_MULTICAST_DELEGATE (FOnPreLoadScreenManagerCleanUp)
 
 DECLARE_MULTICAST_DELEGATE_OneParam (FIsPreloadScreenResponsibleForRenderingMultiDelegate, bool)
 

Static Public Member Functions

static PRELOADSCREEN_API FPreLoadScreenManagerGet ()
 
static PRELOADSCREEN_API void Create ()
 
static PRELOADSCREEN_API void Destroy ()
 
static PRELOADSCREEN_API void EnableRendering (bool bEnabled)
 
static PRELOADSCREEN_API bool ArePreLoadScreensEnabled ()
 

Public Attributes

FOnPreLoadScreenManagerCleanUp OnPreLoadScreenManagerCleanUp
 
FIsPreloadScreenResponsibleForRenderingMultiDelegate IsResponsibleForRenderingDelegate
 

Protected Member Functions

PRELOADSCREEN_API FPreLoadScreenManager ()
 
 ~FPreLoadScreenManager ()=default
 
PRELOADSCREEN_API void PlayPreLoadScreenAtIndex (int32 Index)
 
PRELOADSCREEN_API void BeginPlay ()
 
PRELOADSCREEN_API void HandleEarlyStartupPlay ()
 
PRELOADSCREEN_API void EarlyPlayFrameTick ()
 
PRELOADSCREEN_API void GameLogicFrameTick ()
 
PRELOADSCREEN_API void EarlyPlayRenderFrameTick ()
 
PRELOADSCREEN_API bool HasActivePreLoadScreenTypeForEarlyStartup () const
 
PRELOADSCREEN_API void PlatformSpecificGameLogicFrameTick ()
 
PRELOADSCREEN_API void RenderTick_RenderThread (FRHICommandListImmediate &RHICmdList)
 
PRELOADSCREEN_API void HandleEngineLoadingPlay ()
 
PRELOADSCREEN_API void HandleCustomSplashScreenPlay ()
 
PRELOADSCREEN_API IPreLoadScreenGetActivePreLoadScreen ()
 
PRELOADSCREEN_API const IPreLoadScreenGetActivePreLoadScreen () const
 
PRELOADSCREEN_API void HandleStopPreLoadScreen ()
 
PRELOADSCREEN_API void CleanUpResources ()
 

Static Protected Member Functions

static PRELOADSCREEN_API void StaticRenderTick_RenderThread (FRHICommandListImmediate &RHICmdList)
 
static void OnRequestExit ()
 

Protected Attributes

TArray< TSharedPtr< IPreLoadScreen > > PreLoadScreens
 
int32 ActivePreLoadScreenIndex
 
double LastTickTime
 
TSharedPtr< FPreLoadSlateWidgetRendererWidgetRenderer
 
TWeakPtr< class SWindowMainWindow
 
TSharedPtr< class SVirtualWindowVirtualRenderWindow
 
bool bInitialized
 
FPreLoadScreenSlateSynchMechanismSyncMechanism
 
friend FPreLoadScreenSlateSynchMechanism
 
bool bIsResponsibleForRendering
 
bool bHasRenderPreLoadScreenFrame_RenderThread
 
double LastRenderTickTime
 
float OriginalSlateSleepVariableValue
 
bool bIsEngineLoadingComplete
 

Static Protected Attributes

static PRELOADSCREEN_API TUniquePtr< FPreLoadScreenManager, FPreLoadScreenManagerDeleteInstance
 
static PRELOADSCREEN_API std::atomic< boolbRenderingEnabled
 
static FCriticalSection ActivePreloadScreenCriticalSection
 
static TWeakPtr< IPreLoadScreenActivePreloadScreen
 

Constructor & Destructor Documentation

◆ FPreLoadScreenManager()

FPreLoadScreenManager::FPreLoadScreenManager ( )
protected

◆ ~FPreLoadScreenManager()

FPreLoadScreenManager::~FPreLoadScreenManager ( )
protecteddefault

Member Function Documentation

◆ ArePreLoadScreensEnabled()

bool FPreLoadScreenManager::ArePreLoadScreensEnabled ( )
static

◆ BeginPlay()

PRELOADSCREEN_API void FPreLoadScreenManager::BeginPlay ( )
protected

◆ CleanUpResources()

void FPreLoadScreenManager::CleanUpResources ( )
protected

◆ Create()

void FPreLoadScreenManager::Create ( )
static

◆ DECLARE_MULTICAST_DELEGATE()

FPreLoadScreenManager::DECLARE_MULTICAST_DELEGATE ( FOnPreLoadScreenManagerCleanUp  )

◆ DECLARE_MULTICAST_DELEGATE_OneParam()

FPreLoadScreenManager::DECLARE_MULTICAST_DELEGATE_OneParam ( FIsPreloadScreenResponsibleForRenderingMultiDelegate  ,
bool   
)

◆ Destroy()

void FPreLoadScreenManager::Destroy ( )
static

◆ EarlyPlayFrameTick()

void FPreLoadScreenManager::EarlyPlayFrameTick ( )
protected

◆ EarlyPlayRenderFrameTick()

void FPreLoadScreenManager::EarlyPlayRenderFrameTick ( )
protected

◆ EnableRendering()

void FPreLoadScreenManager::EnableRendering ( bool  bEnabled)
static

◆ GameLogicFrameTick()

void FPreLoadScreenManager::GameLogicFrameTick ( )
protected

◆ Get()

FPreLoadScreenManager * FPreLoadScreenManager::Get ( )
static

◆ GetActivePreLoadScreen() [1/2]

IPreLoadScreen * FPreLoadScreenManager::GetActivePreLoadScreen ( )
protected

◆ GetActivePreLoadScreen() [2/2]

const IPreLoadScreen * FPreLoadScreenManager::GetActivePreLoadScreen ( ) const
protected

◆ GetRenderWindow()

TSharedPtr< SWindow > FPreLoadScreenManager::GetRenderWindow ( )

◆ HandleCustomSplashScreenPlay()

void FPreLoadScreenManager::HandleCustomSplashScreenPlay ( )
protected

◆ HandleEarlyStartupPlay()

void FPreLoadScreenManager::HandleEarlyStartupPlay ( )
protected

◆ HandleEngineLoadingPlay()

void FPreLoadScreenManager::HandleEngineLoadingPlay ( )
protected

◆ HandleStopPreLoadScreen()

void FPreLoadScreenManager::HandleStopPreLoadScreen ( )
protected

◆ HasActivePreLoadScreenType()

bool FPreLoadScreenManager::HasActivePreLoadScreenType ( EPreLoadScreenTypes  PreLoadScreenTypeToCheck) const

◆ HasActivePreLoadScreenTypeForEarlyStartup()

bool FPreLoadScreenManager::HasActivePreLoadScreenTypeForEarlyStartup ( ) const
protected

◆ HasRegisteredPreLoadScreenType()

bool FPreLoadScreenManager::HasRegisteredPreLoadScreenType ( EPreLoadScreenTypes  PreLoadScreenTypeToCheck) const

◆ HasValidActivePreLoadScreen()

bool FPreLoadScreenManager::HasValidActivePreLoadScreen ( ) const

◆ Initialize()

void FPreLoadScreenManager::Initialize ( FSlateRenderer InSlateRenderer)

◆ IsEngineLoadingComplete()

bool FPreLoadScreenManager::IsEngineLoadingComplete ( ) const
inline

◆ IsUsingMainWindow()

bool FPreLoadScreenManager::IsUsingMainWindow ( ) const

◆ OnRequestExit()

void FPreLoadScreenManager::OnRequestExit ( )
staticprotected

◆ PassPreLoadScreenWindowBackToGame()

void FPreLoadScreenManager::PassPreLoadScreenWindowBackToGame ( ) const

◆ PlatformSpecificGameLogicFrameTick()

void FPreLoadScreenManager::PlatformSpecificGameLogicFrameTick ( )
protected

◆ PlayFirstPreLoadScreen()

bool FPreLoadScreenManager::PlayFirstPreLoadScreen ( EPreLoadScreenTypes  PreLoadScreenTypeToPlay)

Plays the first found PreLoadScreen that matches the bEarlyPreLoadScreen setting passed in.

Returns
false if no PreLoadScreen with that type has been registered.

◆ PlayPreLoadScreenAtIndex()

void FPreLoadScreenManager::PlayPreLoadScreenAtIndex ( int32  Index)
protected

◆ PlayPreLoadScreenWithTag()

bool FPreLoadScreenManager::PlayPreLoadScreenWithTag ( FName  InTag)

Plays the PreLoadScreen with a tag that matches InTag

Returns
false if no PreLoadScreen with that tag has been registered.

◆ RegisterPreLoadScreen()

void FPreLoadScreenManager::RegisterPreLoadScreen ( const TSharedPtr< IPreLoadScreen > &  PreLoadScreen)

◆ RenderTick_RenderThread()

void FPreLoadScreenManager::RenderTick_RenderThread ( FRHICommandListImmediate RHICmdList)
protected

◆ SetEngineLoadingComplete()

void FPreLoadScreenManager::SetEngineLoadingComplete ( bool  IsEngineLoadingFinished = true)

◆ StaticRenderTick_RenderThread()

void FPreLoadScreenManager::StaticRenderTick_RenderThread ( FRHICommandListImmediate RHICmdList)
staticprotected

◆ StopPreLoadScreen()

void FPreLoadScreenManager::StopPreLoadScreen ( )

◆ UnRegisterPreLoadScreen()

void FPreLoadScreenManager::UnRegisterPreLoadScreen ( const TSharedPtr< IPreLoadScreen > &  PreLoadScreen)

◆ WaitForEngineLoadingScreenToFinish()

void FPreLoadScreenManager::WaitForEngineLoadingScreenToFinish ( )

Member Data Documentation

◆ ActivePreloadScreen

TWeakPtr< IPreLoadScreen > FPreLoadScreenManager::ActivePreloadScreen
staticprotected

◆ ActivePreloadScreenCriticalSection

FCriticalSection FPreLoadScreenManager::ActivePreloadScreenCriticalSection
staticprotected

◆ ActivePreLoadScreenIndex

int32 FPreLoadScreenManager::ActivePreLoadScreenIndex
protected

◆ bHasRenderPreLoadScreenFrame_RenderThread

bool FPreLoadScreenManager::bHasRenderPreLoadScreenFrame_RenderThread
protected

◆ bInitialized

bool FPreLoadScreenManager::bInitialized
protected

◆ bIsEngineLoadingComplete

bool FPreLoadScreenManager::bIsEngineLoadingComplete
protected

◆ bIsResponsibleForRendering

bool FPreLoadScreenManager::bIsResponsibleForRendering
protected

◆ bRenderingEnabled

std::atomic< bool > FPreLoadScreenManager::bRenderingEnabled
staticprotected

◆ FPreLoadScreenSlateSynchMechanism

friend FPreLoadScreenManager::FPreLoadScreenSlateSynchMechanism
protected

◆ Instance

TUniquePtr< FPreLoadScreenManager, FPreLoadScreenManager::FPreLoadScreenManagerDelete > FPreLoadScreenManager::Instance
staticprotected

◆ IsResponsibleForRenderingDelegate

FIsPreloadScreenResponsibleForRenderingMultiDelegate FPreLoadScreenManager::IsResponsibleForRenderingDelegate

◆ LastRenderTickTime

double FPreLoadScreenManager::LastRenderTickTime
protected

◆ LastTickTime

double FPreLoadScreenManager::LastTickTime
protected

◆ MainWindow

TWeakPtr<class SWindow> FPreLoadScreenManager::MainWindow
protected

The window that the loading screen resides in

◆ OnPreLoadScreenManagerCleanUp

FOnPreLoadScreenManagerCleanUp FPreLoadScreenManager::OnPreLoadScreenManagerCleanUp

◆ OriginalSlateSleepVariableValue

float FPreLoadScreenManager::OriginalSlateSleepVariableValue
protected

◆ PreLoadScreens

TArray<TSharedPtr<IPreLoadScreen> > FPreLoadScreenManager::PreLoadScreens
protected

◆ SyncMechanism

FPreLoadScreenSlateSynchMechanism* FPreLoadScreenManager::SyncMechanism
protected

The threading mechanism with which we handle running slate on another thread

◆ VirtualRenderWindow

TSharedPtr<class SVirtualWindow> FPreLoadScreenManager::VirtualRenderWindow
protected

Virtual window that we render to instead of the main slate window (for thread safety). Shares only the same backbuffer as the main window

◆ WidgetRenderer

TSharedPtr<FPreLoadSlateWidgetRenderer> FPreLoadScreenManager::WidgetRenderer
protected

Widget renderer used to tick and paint windows in a thread safe way


The documentation for this class was generated from the following files: