Files
Mitchell Wilson 3f8c52a80a Copying //UE4/Dev-Documentation to Samples-Main (//UE4/Samples-Main)
#rb none

[CL 6955335 by Mitchell Wilson in Main branch]
2019-06-12 12:19:04 -04:00

97 lines
6.1 KiB
Plaintext

Availability: Docs
Title: Installed Build Reference
Crumbs: %ROOT%, Programming, Programming/Development
Description:This page describes the Installed Build process, including an overview of how to write Installed Build scripts.
version: 4.13
parent:Programming/Development
type:Reference
related:Programming/BuildTools/AutomationTool/BuildGraph
related:Programming/UnrealBuildSystem
related:Programming/Development/BuildConfigurations
tags:Programming
tags: BuildGraph
[TOC (start:1 end:5)]
[VAR:TopicCompact]
[OBJECT:TopicCompact]
[PARAM:image]
![%Programming/Development/InstalledBuildReference%](installedbuild_topic.png)
[/PARAM]
[PARAM:icon]
![](%ROOT%/reference_icon.png)(convert:false)
[/PARAM]
[PARAM:title]
%Programming/Development/InstalledBuildReference:title%
[/PARAM]
[PARAM:description]
%Programming/Development/InstalledBuildReference:description%
[/PARAM]
[PARAM:path]
[RELATIVE:Programming/Development/InstalledBuildReference]
[/PARAM]
[/OBJECT]
[/VAR]
Developers are always looking for ways to efficiently deliver build solutions for a variety of hardware profiles and operating systems.
An **Installed Build** is a fully featured engine build that can be redistributed to quickly get your team up and running with the engine.
From a technical standpoint, an Installed build contains precompiled binaries for Unreal Editor and a static library for each target platform
in development and shipping configurations.
The Installed Build process automates build packages and tools that are needed to make an Installed Build version of Unreal Engine 4 (UE4). In summary,
making an Installed Build is the process of setting up default target platforms, compiling UE4 with its tools and editor, running tests,
and deploying the Installed Build version of UE4 to targeted platforms.
## Making an Installed Build
You can create Installed Builds using the [](Programming/BuildTools/AutomationTool/BuildGraph) scripting system with the Installed Build script located at
`[UE4Root]/Engine/Build/InstalledBuild.xml`.
**To create an Installed Build:**
1. Run the Installed Build Script by invoking the **AutomationTool** with the following command line, replacing `[PLATFORM]` with either `Win64` or `Mac`. You can also configure the build using the available [Installed Build Script Options](#bookmark1).
BuildGraph -target="Make Installed Build [PLATFORM]" -script=Engine/Build/InstalledEngineBuild.xml -clean
1. Navigate to the `LocalBuilds/Engine/` folder in your Unreal Engine directory to view the Installed Build that you created. If you specified a different directory to publish to, navigate to that directory instead.
## Installed Build Script Options
(#bookmark1)
The `InstalledEngineBuild.xml` script makes an Installed Build with all of the default options and platforms enabled; however, it can be configured using a set
of specified options, enabling you to target which platforms to include, where to publish the build to, etc. You can view a list of available options for customizing the
build process (along with a list of nodes that will be built), by passing the `-listonly` option to the script.
The available options are:
| Option | Default | Description |
| ------ | ------- | ----------- |
| `-set:HostPlatformOnly=[true/false]` | false | A helper option to make an installed build for your host platform only, so that you don't have to disable each platform individually |
| `-set:WithWin64=[true/false]` | true | Include the Win64 target platform |
| `-set:WithWin32=[true/false]` | true | Include the Win32 target platform |
| `-set:WithMac=[true/false]` | true | Include the Mac target platform |
| `-set:WithAndroid=[true/false]` | true | Include the Android target platform |
| `-set:WithIOS=[true/false]` | true | Include the iOS target platform [REGION:note]Enabling this option requires a Mac set up for remote building.[/REGION] |
| `-set:WithTVOS=[true/false]` | true | Include the tvOS target platform [REGION:note]Enabling this option requires a Mac set up for remote building.[/REGION] |
| `-set:WithLinux=[true/false]` | true | Include the Linux target platform |
| `-set:WithLumin=[true/false]` | true | Include the Lumin target platform |
| `-set:WithHTML5=[true/false]` | true | Include the HTML5 target platform |
| `-set:WithPS4=[true/false]` | false | Include the PS4 target platform [REGION:note]Enabling this option requires the PS4 SDK.[/REGION] |
| `-set:WithXboxOne=[true/false]` | false | Include the XboxOne target platform [REGION:note]Enabling this option requires the Xbox One SDK.[/REGION] |
| `-set:WithDDC=[true/false]` | true | Build a stand-alone derived-data cache for the engine content and templates [REGION:note]Building a stand-alone [Derived Data Cache (DDC)](Engine/Basics/DerivedDataCache) for the Engine and Template content can be one of the slowest aspects of the build. If you don't need a stand-alone DDC, you can skip this step by appending `-set:WithDDC=false` to the command line.[/REGION] |
| `-set:WithFullDebugInfo=[true/false]` | false | Generate full debug info for binary editor and packaged application builds |
| `-set:SignExecutables=[true/false]` | false | Sign the executables produced if you have to set up your machine to sign executables as part of the build process |
| `-set:AnalyticsTypeOverride=[ID]` | N/A | Identifier for analytic events to send |
| `-set:GameConfigurations=[Configurations]` | Development;Shipping | Specifies the configurations for packaged applications |
### Including Additional Files
RuntimeDependencies (set in `build.cs` files for each module) automatically collate and determine which files are included in an Installed Build.
However, there are some required files that cannot be included this way, so they're defined in `[UE4Root]/Engine/Build/InstalledEngineFilters.xml`.
The `InstalledEngineFilters` XML file also lists patterns of files that should be excluded from the build, determining the types of files that need to be
stripped or signed, and finally, deciding what projects to build the DDC for. If you need to include any additional files with the Installed Build, the `InstalledEngineFilters`
XML file is a great place to start.