Home - RedpointGames/uet GitHub Wiki

Jump to Getting Started.

Features

The easiest way to build your Unreal Engine project (uet build)

project_build-20fba3653f7e9008521cfcd37063ec56

It's that simple. No need to remember engine paths or the BuildCookRun command line, you can build your Unreal Engine project with two words.

The easiest way to build your Unreal Engine plugin (uet build -e 5.5)

plugin_build-70a3e52be4f05ae12dbcebbc0dc5cb05

Just tell UET what Unreal Engine version you want to build with. It will discover the location of Unreal Engine on your machine, then build and package your plugin suitable for distribution on Fab.

Automation testing has never been easier (uet test -e 5.5)

test_output-572c3cdc76860dee5bcc6dde11d8a800

Running the automation tests for your plugin or project has never been easier. Use the test command and UET will build your code and run the automation tests on your local machine.

You'll get nice output, much faster automation test startup times, and UET will even run your tests in parallel by pooling multiple Unreal Engine instances on your machine, taking into account available system memory.

Distributed build and test on your CI/CD server (uet build -x gitlab ...)

gitlab_integration-18d119e011f3fcad54aae549e0ce1aa7

Run your build steps in parallel on your CI/CD server, using the exact same commands you're used to.

UET can emit build server configuration files, such as .gitlab-ci.yml for GitLab, and distribute compile, cook, packaging, test and deployment steps across all the build machines you have available.

Say goodbye to SDK configuration

autosdk_android-4d903ee14190edabd7d737c8455920b4

Building for Windows, macOS, Linux or Android? No longer do you need to manually download, install and configure SDKs for Unreal Engine.

When UET runs your build, it checks the SDK versions that the engine version requires and automatically downloads and installs them on-demand if needed. Once the SDKs are installed, it'll set up the environment variables necessary to have the compiler use them.

Flexible configuration with JSON

buildconfig_json-d274cc358c12eab075bac62a25bb1bba

When you need full control over how your project or plugin is built, tested and deployed, you can set up a BuildConfig.json. This allows you to configure multiple distributions and fully specify what platforms are built and what tests are run.

You can use distributions to change how the project is built for different game stores, configure different targets for building and testing for merge/pull requests, and configure deployments.

We also publish JSON schema files for UET, so you get full autocomplete and help text when editing BuildConfig.json in your code editor.

Storage virtualisation with UEFS (uet uefs build --dir ...)

Use the UEFS tools inside UET to package the engine into a portable image, and then use that engine image on every machine. UEFS provides significant benefits, regardless of your team size:

  • UET and CI/CD servers can run multiple Unreal Engine jobs in parallel on the same machine, as UEFS engine instancing prevents the AutomationTool's global mutex from blocking build jobs.
  • You no longer need to install Unreal Engine on every machine; just push the engine image to a container registry and pass the container tag through to UET with -e uefs:registry/path/container:tag.
  • Leveraging virtual filesystems on Windows, UEFS allows the engine to be mounted over the network without pulling the whole 100GB+ image first, and with no noticable performance loss.

Stay up-to-date with the latest UET features (uet upgrade)

UET can upgrade itself and install the latest version at any time with the upgrade command. It's that simple.

Getting Started

To download and install UET:

  1. Download the latest release of UET for your platform
  2. Optionally, run .\uet upgrade or ./uet upgrade to install UET globally on your computer.

After you've installed UET, you can build your Unreal Engine project by navigating to the directory which contains it, and then running:

uet build

â„šī¸ Info: The examples in this documentation use Windows-style paths (such as C:\Path\To\Directory) to illustrate arguments that take a path to a directory or file. These commands work with macOS as well, in which case you should provide macOS-style paths (such as /Path/To/Directory).

Refer to the following documentation depending on what you would like to do: