Build Configurations Reference

Choose your OS:
Prerequisite Topics

This page assumes you have prior knowledge of the following topics. Please read them before proceeding.

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.

Each build configuration contains two keywords. The first of these indicates the state of the engine and your game project. For instance, if you compile using a Debug configuration, you'll be able to debug your game's code. The second keyword indicates the target you're building for. For example, if you'd like to open a project in Unreal, you'd 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 is equivalent to Release. 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:

Choose Your Operating System

Windows

Mac OS

Linux

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.