Unreal Engine 4 Internals - Epic Wiki

# Unreal Engine 4 Internals

From Epic Wiki

Jump to: navigation, search

This page covers my discoveries as I dig through the internals of the Unreal Engine 4. It applies primarily to version 4.3, but I may update in the future for later versions.

# Contents

# Launching

Each supported platform has a platform-specific file that contains the platforms main function. LaunchWindows.cpp is the windows platform launch file, there are equivalent files for the other supported platforms. The three desktop platforms call GuardedMain, which lives in Launch.cpp in module Launch.

GuardedMain is the platform independent main function for the desktop platforms. It's primary function is to pass control to the singleton object GEngineLoop, which is a FEngineLoop (LaunchEngineLoop.h/LaunchEngineLoop.cpp.

The four stages of execution are PreInit, Init, Tick Loop and Exit. FEngineLoop has a method, which is called from functions in Launch.cpp for each of these stages.

# Preinit Stage

The Preinit stage handles basic setup tasks from command line tokenizing to loading core modules like Core, Engine, etc. The Preinit stage is managed by the function FEngineLoop::Preinit

The command line is managed by a singleton class FCommandLine, which lives in CoreMisc.h/CoreMisc.cpp.

Modules loaded during Preinit include:

  • FEngineLoop::LoadPreInitModules()
    • CoreUObject
    • Engine
    • Renderer
    • ShaderCore
    • Platform specific preinit modules
  • FEngineLoop::LoadStartupCoreModules()
    • Core
    • Networking
    • Messaging
    • Slate

# Init

# Tick Loop

# Exit

Retrieved from "https://wiki.unrealengine.com/index.php?title=Unreal_Engine_4_Internals&oldid=8003"