UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
LaunchEngineLoop.cpp File Reference
#include "LaunchEngineLoop.h"
#include "AutoRTFM/AutoRTFMUE.h"
#include "HAL/PlatformStackWalk.h"
#include "HAL/PlatformOutputDevices.h"
#include "HAL/LowLevelMemTracker.h"
#include "HAL/MallocFrameProfiler.h"
#include "Misc/MessageDialog.h"
#include "Misc/ScopedSlowTask.h"
#include "Misc/QueuedThreadPool.h"
#include "Misc/QueuedThreadPoolWrapper.h"
#include "HAL/FileManager.h"
#include "HAL/PlatformAffinity.h"
#include "HAL/DiskUtilizationTracker.h"
#include "Misc/FileHelper.h"
#include "Internationalization/TextLocalizationManagerGlobals.h"
#include "Logging/LogSuppressionInterface.h"
#include "Logging/StructuredLog.h"
#include "Async/TaskGraphInterfaces.h"
#include "Async/Fundamental/Scheduler.h"
#include "MemPro/MemProProfiler.h"
#include "Misc/AsciiSet.h"
#include "Misc/TimeGuard.h"
#include "Misc/Paths.h"
#include "Misc/PathViews.h"
#include "Misc/ConfigCacheIni.h"
#include "Misc/CoreMisc.h"
#include "Misc/ConfigUtilities.h"
#include "Misc/OutputDeviceHelper.h"
#include "Misc/OutputDeviceRedirector.h"
#include "Misc/AutomationTest.h"
#include "Misc/CommandLine.h"
#include "Misc/App.h"
#include "Misc/OutputDeviceConsole.h"
#include "Misc/OutputDeviceStdOut.h"
#include "Misc/ScopeExit.h"
#include "Misc/StringBuilder.h"
#include "Misc/TrackedActivity.h"
#include "HAL/PlatformFileManager.h"
#include "HAL/PlatformMemoryHelpers.h"
#include "HAL/FileManagerGeneric.h"
#include "HAL/ExceptionHandling.h"
#include "HAL/IPlatformFileManagedStorageWrapper.h"
#include "Serialization/CompactBinary.h"
#include "Serialization/CompactBinarySerialization.h"
#include "Serialization/CompactBinaryWriter.h"
#include "Stats/StatsSystem.h"
#include "Stats/ThreadIdleStats.h"
#include "Trace/Trace.inl"
#include "ProfilingDebugging/TraceAuxiliary.h"
#include "ProfilingDebugging/CsvProfiler.h"
#include "ProfilingDebugging/BootProfiling.h"
#include "HAL/ThreadManager.h"
#include "ProfilingDebugging/ExternalProfiler.h"
#include "ProfilingDebugging/StallDetector.h"
#include "Containers/StringView.h"
#include "Containers/Ticker.h"
#include "Interfaces/IPluginManager.h"
#include "ProjectDescriptor.h"
#include "Interfaces/IProjectManager.h"
#include "Misc/UProjectInfo.h"
#include "Misc/EngineVersion.h"
#include "Misc/CoreDelegates.h"
#include "Modules/ModuleManager.h"
#include "Runtime/Launch/Resources/Version.h"
#include "Modules/BuildVersion.h"
#include "UObject/DevObjectVersion.h"
#include "HAL/ThreadHeartBeat.h"
#include "Misc/NetworkVersion.h"
#include "Templates/UniquePtr.h"
#include "Compression/OodleDataCompression.h"
#include "IPlatformFilePak.h"
#include "IO/IoDispatcher.h"
#include "Misc/EmbeddedCommunication.h"
#include "String/ParseTokens.h"

Go to the source code of this file.

Classes

class  FExecuteConcurrentWithSlateTickTask
 
class  FOutputDeviceTestExit
 
struct  FPakValidator
 
class  FFileInPakFileHistoryHelper
 

Macros

#define USE_IO_DISPATCHER   (WITH_ENGINE || WITH_IOSTORE_IN_EDITOR || !(IS_PROGRAM || WITH_EDITOR))
 
#define UE_WITH_IOSTOREONDEMAND   0
 
#define LOCTEXT_NAMESPACE   "LaunchEngineLoop"
 
#define USE_LOCALIZED_PACKAGE_CACHE   0
 
#define WITH_CONFIG_PATCHING   0
 
#define UE_MERGED_MODULES   0
 

Enumerations

enum class  EGameStringType { GameName , ProjectPath , ProjectShortName , Unknown }
 

Functions

void InitializeStdOutDevice ()
 
bool ParseGameProjectFromCommandLine (const TCHAR *InCmdLine, FString &OutProjectFilePath, FString &OutGameName)
 
bool LaunchSetGameName (const TCHAR *InCmdLine, FString &OutGameProjectFilePathUnnormalized)
 
void LaunchFixProjectPathCase ()
 
void LaunchFixGameNameCase ()
 
bool LaunchCheckForFileOverride (const TCHAR *CmdLine, bool &OutFileOverrideFound)
 
void LaunchCheckForCommandLineAliases (const FConfigFile &Config, TArray< FString > &PrevExpansions, bool &bChanged)
 
void LaunchCheckForCmdLineFile (TArray< FString > &PrevExpansions, bool &bChanged)
 
bool LaunchHasIncompleteGameName ()
 
void LaunchUpdateMostRecentProjectFile ()
 
void DumpEarlyReads (bool bDumpEarlyConfigReads, bool bDumpEarlyPakFileReads, bool bForceQuitAfterEarlyReads)
 
void HandleConfigReload (bool bReloadConfig)
 
void RecordFileReadsFromPaks ()
 
void DumpRecordedFileReadsFromPaks ()
 
void DeleteRecordedFileReadsFromPaks ()
 
 DECLARE_CYCLE_STAT (TEXT("FEngineLoop::PreInitPreStartupScreen.AfterStats"), STAT_FEngineLoop_PreInitPreStartupScreen_AfterStats, STATGROUP_LoadTime)
 
 DECLARE_CYCLE_STAT (TEXT("FEngineLoop::PreInitPostStartupScreen.AfterStats"), STAT_FEngineLoop_PreInitPostStartupScreen_AfterStats, STATGROUP_LoadTime)
 
void ConditionallyEnsureOnCommandletErrors (int32 InNumErrors)
 
FAutoConsoleVariableSink CVarLogSink (FConsoleCommandDelegate::CreateStatic(&CVarLogSinkFunction))
 

Variables

bool GIsConsoleExecutable = false
 
TUniquePtr< FFileInPakFileHistoryHelperFileInPakFileHistoryHelper
 

Macro Definition Documentation

◆ LOCTEXT_NAMESPACE

#define LOCTEXT_NAMESPACE   "LaunchEngineLoop"

◆ UE_MERGED_MODULES

#define UE_MERGED_MODULES   0

◆ UE_WITH_IOSTOREONDEMAND

#define UE_WITH_IOSTOREONDEMAND   0

◆ USE_IO_DISPATCHER

#define USE_IO_DISPATCHER   (WITH_ENGINE || WITH_IOSTORE_IN_EDITOR || !(IS_PROGRAM || WITH_EDITOR))

◆ USE_LOCALIZED_PACKAGE_CACHE

#define USE_LOCALIZED_PACKAGE_CACHE   0

◆ WITH_CONFIG_PATCHING

#define WITH_CONFIG_PATCHING   0

Enumeration Type Documentation

◆ EGameStringType

enum class EGameStringType
strong

Enumeration representing the type of the command-line argument representing the game (typically the first argument).

Enumerator
GameName 
ProjectPath 
ProjectShortName 
Unknown 

Function Documentation

◆ ConditionallyEnsureOnCommandletErrors()

void ConditionallyEnsureOnCommandletErrors ( int32  InNumErrors)

◆ CVarLogSink()

FAutoConsoleVariableSink CVarLogSink ( FConsoleCommandDelegate::CreateStatic &  CVarLogSinkFunction)

◆ DECLARE_CYCLE_STAT() [1/2]

DECLARE_CYCLE_STAT ( TEXT("FEngineLoop::PreInitPostStartupScreen.AfterStats")  ,
STAT_FEngineLoop_PreInitPostStartupScreen_AfterStats  ,
STATGROUP_LoadTime   
)

◆ DECLARE_CYCLE_STAT() [2/2]

DECLARE_CYCLE_STAT ( TEXT("FEngineLoop::PreInitPreStartupScreen.AfterStats")  ,
STAT_FEngineLoop_PreInitPreStartupScreen_AfterStats  ,
STATGROUP_LoadTime   
)

◆ DeleteRecordedFileReadsFromPaks()

void DeleteRecordedFileReadsFromPaks ( )

◆ DumpEarlyReads()

void DumpEarlyReads ( bool  bDumpEarlyConfigReads,
bool  bDumpEarlyPakFileReads,
bool  bForceQuitAfterEarlyReads 
)

◆ DumpRecordedFileReadsFromPaks()

void DumpRecordedFileReadsFromPaks ( )

◆ HandleConfigReload()

void HandleConfigReload ( bool  bReloadConfig)

◆ InitializeStdOutDevice()

void InitializeStdOutDevice ( )

Initializes std out device and adds it to GLog

◆ LaunchCheckForCmdLineFile()

void LaunchCheckForCmdLineFile ( TArray< FString > &  PrevExpansions,
bool bChanged 
)

Look for command line file

◆ LaunchCheckForCommandLineAliases()

void LaunchCheckForCommandLineAliases ( const FConfigFile Config,
TArray< FString > &  PrevExpansions,
bool bChanged 
)

Process command line aliases

◆ LaunchCheckForFileOverride()

bool LaunchCheckForFileOverride ( const TCHAR CmdLine,
bool OutFileOverrideFound 
)

Look for any file overrides on the command line (i.e. network connection file handler)

◆ LaunchFixGameNameCase()

void LaunchFixGameNameCase ( )

◆ LaunchFixProjectPathCase()

void LaunchFixProjectPathCase ( )

◆ LaunchHasIncompleteGameName()

bool LaunchHasIncompleteGameName ( )

◆ LaunchSetGameName()

bool LaunchSetGameName ( const TCHAR InCmdLine,
FString &  OutGameProjectFilePathUnnormalized 
)

◆ LaunchUpdateMostRecentProjectFile()

void LaunchUpdateMostRecentProjectFile ( )

◆ ParseGameProjectFromCommandLine()

bool ParseGameProjectFromCommandLine ( const TCHAR InCmdLine,
FString &  OutProjectFilePath,
FString &  OutGameName 
)

◆ RecordFileReadsFromPaks()

void RecordFileReadsFromPaks ( )

Variable Documentation

◆ FileInPakFileHistoryHelper

TUniquePtr<FFileInPakFileHistoryHelper> FileInPakFileHistoryHelper

◆ GIsConsoleExecutable

bool GIsConsoleExecutable = false