Skip to content

Quickstart

We provide a handful of scripts to both enable functionality and streamline configuration for Universal Foundry. Together with configuration from the UF dashboard, they provide Horde with everything it needs to begin running builds.

  1. Go to the Universal Foundry settings page
  2. Scroll down to “Universal Foundry QuickStart and fill in the requested fields: img

Scripts are all located in a public github repository available here: https://github.com/universalfoundry/BuildGraph/. It contains two directories:

./Support/ - Support scripts that enable core UniversalFoundry functionality such as agent selection and Unreal Build Accelerator support.

./Build/ - Scripts to compile tools such as UnrealGameSync as well as Quickstart.xml, a starting point to building games within Universal Foundry Horde.

Copy the contents of the BuildGraph repo to ./UniversalFoundry/. within your project and add it to your Perforce depot. The UniversalFoundry directory should be a sibling of Engine.

Note - You can put these files elsewhere, but you will need to update Quickstart.xml and UGS.xml to reflect the new location and we will need to update our default dashboard configuration to capture the new location. Contact support@universalfoundry.io if you opt to use a different location.

If you have not created any custom BuildGraph scripts and would like to use the Epic-supplied default scripts, nothing further is required. If you have created custom scripts, continue to the next section.

If you have created your own BuildGraph from scratch, a couple of changes are necessary to enable Universal Foundry features.

Within your BuildGraph, include the supplied scripts:

<Include Script="$(RootDir)/UniversalFoundry/Support/AgentTypes.xml" />
<Include Script="$(RootDir)/UniversalFoundry/Support/CommonProperties.xml" />

Inside of each Compile element, add GenericCompileArguments to the Arguments parameter. If necessary you can just append this argument to your other arguments. For example:

<Compile
Target="$(EditorTargetName)"
Platform="$(EditorPlatform)"
Configuration="Development"
Arguments="$(GenericCompileArguments) $(YourOtherArguments)"
/>