Skip to main content

Upgrading UET

UET can be used as a standalone executable in a directory, installed globally on your computer, and have its version pinned via a BuildConfig.json file.

Upgrading UET the first time

After downloading UET for the first time, you can install it globally on your system by running:

.\uet.exe upgrade
./uet upgrade

This will add UET to your system PATH. For any future commands and upgrades you no longer need to specify the PATH to UET, and can simply run:

uet (command, e.g. upgrade)

Specifying a UET version in BuildConfig.json

When you run uet upgrade in a folder that contains a BuildConfig.json file, the UET version will be set in the configuration file as follows:

{
"UETVersion": "(version you upgraded to)"
}

This property controls which version of UET is used when UET is run in that directory. This ensures that when you have a BuildConfig.json file set up, everyone on your team and all of your build servers will use the exact same version of UET, regardless of which version they currently have globally installed.

You can also set UETVersion manually to BleedingEdge, which will cause UET to check for a new version on the GitHub, download the newer version if available, and then run the absolute latest version. This is not recommended for production projects, as UET does not guarantee backward compatibility with each release.

Downloading a smaller version of UET on a build server

Each binary release of UET is around 60MB. On build servers where you're downloading UET at the start of the build, this can be quite a significant hit if you've then configured BuildConfig.json to use a different version of UET, since you will download UET twice if the BuildConfig.json does not match the same version the build server is downloading.

To avoid this, UET also provides a "UET shim" suitable for use on build servers. This shim is much smaller, but does not include the .NET 7 runtime nor any actual code. You will need to install the .NET 7 runtime on your build machines to use the shim. When the shim runs, it will download either the version of UET specified in BuildConfig.json, use the version of UET installed globally, or download the latest version of UET if no other option is available.

To use the UET shim:

  • Ensure your build machines have the .NET 7 runtime installed.
  • On Windows build servers, set up the build scripts to execute as follows:
curl.exe -L -o uet.exe "https://github.com/RedpointGames/uet/releases/download/latest/uet.shim.exe"
if ($LastExitCode -ne 0) { exit $LastExitCode }
.\uet.exe build ...
  • If you are starting builds from macOS build machines, set up the build scripts to execute like this instead:
curl -L -o uet "https://github.com/RedpointGames/uet/releases/download/latest/uet.shim"
chmod a+x uet
./uet build ...