Understanding Unreal's Build System
Contents
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!