Build Configuration Descriptions
Unreal Engine (UE) uses a custom building method via the UnrealBuildTool (UBT). This tool processes the information necessary to build the engine's reflection system, integrating your C++ code with Blueprints, replication, serialization, and garbage collection.
Every build configuration contains two keywords, and the first keyword indicates the state of the engine and your game project. For instance, if you compile using a Debug configuration, you will be able to debug your game's code. The second keyword indicates the target you are building for. For example, if you want to open a project in Unreal, you need to build with the Editor target keyword.
Build Configuration - State | Description |
---|---|
Debug | This configuration contains symbols for debugging. This configuration builds both engine and game code in debug configuration. If you compile your project using the Debug configuration and want to open the project with the Unreal Editor, you must use the -debug flag in order to see your code changes reflected in your project. |
DebugGame | This configuration builds the engine as optimized, but leaves the game code debuggable. This configuration is ideal for debugging only game modules. |
Development | This configuration enables all but the most time-consuming engine and game code optimizations, which makes it ideal for development and performance reasons. Unreal Editor uses the Development configuration by default. Compiling your project using the Development configuration enables you to see code changes made to your project reflected in the editor. |
Shipping | This is the configuration for optimal performance and shipping your game. This configuration strips out console commands, stats, and profiling tools. |
Test | This configuration is the Shipping configuration, but with some console commands, stats, and profiling tools enabled. |
Build Configuration - Target | Description |
---|---|
Game | This configuration builds a stand-alone executable version of your project, but requires cooked content specific to the platform. Please refer to the Packaging Projects Reference page to learn more about cooked content. |
Editor | To open a project in Unreal Editor and see all code changes reflected, the project must be built in an Editor configuration. |
Client | If you are working on a multiplayer project using UE networking features, this target designates the specified project as being a Client in UE's client-server model for multiplayer games. If there is a <GAME_NAME>Client.Target.cs file, the Client build configurations will be valid. |
Server | If you are working on a multiplayer project using UE networking features, this target designates the specified project as being a Server in UE's client-server model for multiplayer games. If there is a <GAME_NAME>Server.Target.cs file, the Server build configurations will be valid. |
Build Configuration for UE Solution
When compiling a UE solution, you are compiling our engine's source code together with your project's source code. The following build configurations are available when building your project this way:
Debug | DebugGame | Development | Shipping | Test | |
---|---|---|---|---|---|
Game | ✓ | ✓ | ✓ | ✓ | ✓ |
Editor | ✓ | ✓ | ✓ | ||
Client | ✓ | ✓ | ✓ | ✓ | ✓ |
Server | ✓ | ✓ | ✓ | ✓ | ✓ |
Build Configuration for UE Project
When compiling a UE project, you are only compiling your project's source code. The following build configurations are available when building your project this way:
Debug | DebugGame | Development | Shipping | Test | |
---|---|---|---|---|---|
Game | ✓ | ✓ | ✓ | ||
Editor | ✓ | ✓ | |||
Client | |||||
Server |
Debug | DebugGame | Development | Shipping | Test | |
---|---|---|---|---|---|
Game | ✓ | ✓ | ✓ | ||
Editor | ✓ | ✓ | |||
Client | |||||
Server |
We currently don't provide a binary installer of Unreal Engine for Linux.
Linux users should refer to the Build Configuration for UE Solution section.
Refer to our Installing Unreal Engine documentation to learn how to build Unreal Engine from source.