Build Configurations Reference

Reference guide for solution and project build configurations.

Choose your operating system:

Windows

macOS

Linux

Prerequisite Topics

In order to understand and use the content on this page, make sure you are familiar with the following topics:

Build Configuration Descriptions

Unreal Engine 4 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

[empty]

This configuration builds a stand-alone executable version of your project, but requires cooked content specific to the platform. Please refer to our Packaging Projects Reference page to learn more about cooked content.

Editor

To be able 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're working on a multiplayer project using UE4 networking features, this target designates the specified project as being a Client in UE4's client-server model for multiplayer games. If there is a <Game>Client.Target.cs file, the Client build configurations will be valid.

Server

If you're working on a multiplayer project using UE4 networking features, this target designates the specified project as being a Server in UE4's client-server model for multiplayer games. If there is a <Game>Server.Target.cs file, the Server build configurations will be valid.

Build Configuration for UE4 Solution

When compiling a UE4 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

[empty]

Editor

Client

Server

Build Configuration for UE4 Project

When compiling a UE4 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

[empty]

Editor

Client

Server

Debug

DebugGame

Development

Shipping

Test

[empty]

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 UE4 Solution section.
Refer to our Downloading Unreal Engine Source Code documentation to learn how to build Unreal Engine from source.

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss