Understanding Unreal's Build System

From Epic Wiki

Overview

It can be initially confusing when presented with the different solution configurations or build options in Visual Studio. This is a compiled list detailing how the overall build systems seems to work and what you need to know as a developer.

Introduction to Builds

To start things off you can find your builds in the Binaries folder of your Project Directory. Anytime you launch the Editor you need to have a compiled version of your project to run against. This is always your UE4Editor-YourGame.dll but not limited to. Which brings us to the topic of Configurations:

Configurations

Configuration Output
DebugGame YourGame-Win64-DebugGame.exe An Executable that runs on cooked content. It contains a non-optimized version wherein you can see and access some normally optimized variables such as FString's or other low level objects.
DebugGame Editor UE4Editor-YourGame-Win64-DebugGame.dll Same as above, but this version runs in the Editor.
Development YourGame.exe An Executable that runs on cooked content. This is a semi-optimized version wherein you can't see every variable in debug mode but still has most debugging features. You can read in-game log, etc.
Development Editor UE4Editor-YourGame.dll This version is the required version by the editor in order for it to boot up. It is the same as above, but this version runs in the Editor.
Shipping YourGame.exe This is your game with complete optimization and is the version you will ship to your users

How and Why

Editor Builds

  • Development Editor
  • DebugGame Editor

When the UE4Editor.exe is loaded it attaches to the Development Editor [UE4Editor-YourGame.dll]. If this .dll is not present it will offer to build it. Once the editor is loaded you can update it by recompiling from Visual Studio as a Development Editor build. You can also recompile from Visual Studio as a DebugGame Editor build [UE4Editor-YourGame-Win64-DebugGame.dll].

It's worth noting before moving on, that if you shut down the editor and reload it will use the last good Development Editor build. So if you were using DebugGame Editor builds it may look like you lost work. Simply rebuild the DebugGame Editor and it will hot load into the editor.

Executable Builds

  • Development
  • DebugGame
  • Shipping

When using a standalone build you drop the overhead of the UE4Editor and just run the game. This must be done with COOKED content created from the editor. Simply go to File > Cook Content for [Platform] . This will create cooked content in your game in project local directory ..\Saved\Cooked\WindowsNoEditor .

Command Line

  • Development Editor
  • DebugGame Editor

Either listed build type can be used when launching the your game from command line. using switch "-game" will launch your game using [UE4Editor-YourGame.dll]. And using switches "-game -debug" will launch your game using [UE4Editor-YourGame-Win64-DebugGame.dll].

Compile in Editor

The editor contains a Compile button on the main shelf. When this button is pushed, the unreal build tools create a new Development Editor build and hot links it back to the editor.

This introduction should be expanded as more is learned, but I hope this helps!

( )