Skip to main content

Unreal Engine Tool

Build, test and deploy Unreal Engine plugins and projects with a single command.

The easiest way to build your Unreal Engine project

uet build

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.2

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 the Marketplace.

Get better build output

UET hooks into the Unreal Engine build process and drastically improves the output of compile steps. It'll show you exactly what's being worked on, the overall progress, and how many files have been compiled.

No longer do you have to wonder how many items are left to compile; UET gives you the output that build tools should.

Automation testing has never been easier

uet test -e 5.2

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 ...

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

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

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.

UET is 100% free and open source under the MIT license.