Installed builds(use to be called Rocket builds) are a compiled version of the Engine. For example, when you download an engine version from the Epic Launcher, its actually an Installed build.
The main reason you would want to make an installed build is to speed up compilation time when working with custom or non compiled versions of the engine. The perfect example and my current use case is that I want to make a dedicated server. In order to decrease the download size of the engine, Epic leaves out server targets as options to build.
Creating an installed build isn’t too bad once you know the right command to use. The only prerequisite to installed builds is having the engine source available on your pc. If you don’t have that the following docs will walk you through it - Downloading Engine Source.
The example below is done with UE 5 Early Access 2. All of the options are standard except the following two:
The above two options are needed to deal with a bug in UE5 Early Access 2 that has to do with Incredibuild. If you are trying to make an installed build with UE4, you can omit these options.
C:\Projects\UnrealEngine\Engine\Build\BatchFiles\RunUAT.bat BuildGraph -target="Make Installed Build Win64" -script=Engine/Build/InstalledEngineBuild.xml -set:WithClient=true -set:WithServer=true -set:AllowXGE=false -AllowParallelExecutor=false -set:WithDDC=false -set:WithLinux=true -set:WithWin64=true -set:WithMac=false -set:WithAndroid=false -set:WithIOS=false -set:WithTVOS=false -set:WithLumin=false -set:WithHTML5=false -set:WithPS4=false -set:WithXboxOne=false -set:WithLinuxAArch64=false -set:WithFullDebugInfo=true
Lets pull apart the above command.
- Location of my Unreal Engine source:
- Location of the Unreal Automation Tool followed by the command we want to use: Engine\Build\BatchFiles\RunUAT.bat BuildGraph`. More info on Build Graph
- What target we are building for:
target="Make Installed Build Win64"
- File containing all possible options for this command:
- What platforms we are building for. For example, WithServer allows me to build dedicated servers: -set:WithClient=true -set:WithServer=true
- Adds debug symbols to the Installed Build. I mostly do this to make troubleshooting easier, this is normally set to false.
- All the other options With(Insert Platform name here): This tells the script what targets to include. Since my game client is in Windows and my dedicated server is in Linux, I tell it to include Windows and Linux platforms and exclude all other platforms. If you only wanted to build for your host platform, for example I have a Windows PC and I only want to make Windows game clients and servers, use -set:HostPlatformOnly=true
Last minute touches. Depending on whether you are building UE4.26/27 or 5, there are a few options that may change.
- If you don’t have the Xbox/PS components, exclude those from teh script. You WILL NOT have these by default.
- I’m not sure where the cut off was, but I recently did a 4.27 build and HTML5 is not longer a build target. Remove that from the command
- Exclude these options for UE4.
- Last one, if you are doing a UE4 build, add this
-set:VS2019=trueif you are using VS Studio 2019.
For more info on installed builds, check out Epic’s docs - Installed Builds