You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
67 lines
3.4 KiB
Plaintext
67 lines
3.4 KiB
Plaintext
Availability: Docs
|
|
Title: Unreal Build System
|
|
Crumbs:
|
|
Description:Unreal Engine's custom build system for compiling the engine and game projects.
|
|
version:4.15
|
|
parent:Programming
|
|
tags:Programming
|
|
tags:Unreal Build System
|
|
type:overview
|
|
topic-image:Engine/build_topic.png
|
|
|
|
[TOC (start:1 end:3)]
|
|
|
|
[REGION:fullwidth]
|
|

|
|
[/REGION]
|
|
|
|
**Unreal Build System** refers to a collection of tools that automate the process of building Unreal Engine 4 (UE4). At a high level, UnrealBuildTool and UnrealHeaderTool support Unreal Build System.
|
|
This guide provides and overview of UnrealBuildTool and UnrealHeaderTool, including a brief discussion about UE4's modular architecture. If you want to use this collection of build tools, we've included some guides that will help you set up and configure Unreal
|
|
Build System for your own projects. Finally, we've included some guides for advanced users, those wanting to learn more about the Include-What-You-Use (IWYU) dependency model and the BuildGraph scripting system.
|
|
|
|
[REGION:note]
|
|
If you would like to debug UnrealBuildTool or UnrealAutomationTool on Mac OS X, please install [MonoDevelop 4.2.2](http://monodevelop.com/Download) and [Mono 3.2.7](http://www.go-mono.com/mono-downloads/download.html).
|
|
[/REGION]
|
|
|
|
## UnrealBuildTool
|
|
|
|
**UnrealBuildTool** (UBT) is a custom tool that manages the process of building the UE4 source code across a variety of build configurations. Check out `BuildConfiguration.cs` to explore various
|
|
user-configurable build options.
|
|
|
|
## UnrealHeaderTool
|
|
|
|
**UnrealHeaderTool** (UHT) is a custom parsing and code-generation tool that supports the UObject system. Code compilation happens in two phases:
|
|
|
|
1. UHT is invoked, which parses the C++ headers for Unreal-related class metadata and generates custom code to implement the various UObject-related features.
|
|
1. The normal C++ compiler is invoked to compile the results.
|
|
|
|
When compiling, it is possible for either tool to emit errors, so be sure to look carefully.
|
|
|
|
## Modular Architecture
|
|
|
|
UE4 is split into many modules. Each module has a `.build.cs` file that controls how it is built, including options for defining module dependencies, additional libraries, include paths, etc. By default, these modules are compiled into DLLs and loaded by a single executable. You can choose to build a monolithic executable in the `BuildConfiguration.cs` file.
|
|
|
|
## Using Unreal Build System
|
|
|
|
Before using Unreal Build System, it is important to understand that the build process executes independently of any project files for the development environment, such as `.sln` or `.vcproj` files (for Visual Studio). These files are useful to have for editing purposes though,
|
|
so there is a tool being provided to generate them dynamically (based on the contents of your project directory tree). You can run this tool with the `GenerateProject.bat` file located in your `[Root UE4]` directory.
|
|
|
|
[REGION:tip]
|
|
Running `GenerateProject.bat` from time-to-time will keep your code editor up-to-date with files that are being added to (or being removed) from disk.
|
|
[/REGION]
|
|
|
|
### Setup
|
|
|
|
%Programming/UnrealBuildSystem/ProjectFileGenerator:topic%
|
|
%Programming/Development/BuildingUnrealEngine:topic%
|
|
|
|
### Configuration
|
|
|
|
%Programming/UnrealBuildSystem/Configuration:topic%
|
|
%Programming/UnrealBuildSystem/TargetFiles:topic%
|
|
|
|
## Advanced Topics
|
|
|
|
%Programming/UnrealBuildSystem/IWYUReferenceGuide:topic%
|
|
%Programming/BuildTools/AutomationTool/BuildGraph:topic%
|