Skip to main content

uattool: the easy way to use RunUAT.bat!

Wow, that's a lot of technical mumbo jumbo! In simple terms: uattool is a tool that detects the versions of Unreal Engine you have on your system. You can then use it to build your game, plugins, cook content and many more things from the command line. Without uattool, you'd have to type in the full path to RunUAT.bat every time you want to use it. With uattool, all you need is the version you'd like to use :)!

Installation

uattool is now included in the Chocolatey community repository! If you have chocolately installed, you can install uattool by running the following command:

choco install uattool

If you'd like to install chocolatey, take a look at their installation guide.

Don't feel like using Chocolatey? You can download the latest release of uattool from the GitHub releases page. Once you've downloaded the .zip file, extract it to a location of your choice. You can then add the location of the uattool executable to your system's PATH variable to use it from the command line.

Usage

To get an overview of all of the versions of Unreal Engine that your system has installed, run:

uattool --list

Now, to run a command, simply use:

uattool <version> <command>

For example, to build a plugin using Unreal Engine 5.3, you'd run:

uattool 5.3 BuildPlugin -Plugin=<path_to_plugin.uplugin> -Package=<path_to_output_folder>

uattool will pass everything you type after the version number to the RunUAT.bat script of that version.

How uattool handles versions

There are three ways of specifying an Unreal Engine version for use with uattool:

  1. By it's numerical version number, optionally including the patch: 5.3, 4.27.2, 4.26.2, etc.
  2. Requiring a source build: prefix it with source-, for example: source-5.3
  3. Using the ChangeList number: cl-12345678

Furthermore, uattool supports batching commands for multiple versions of Unreal Engine. To do this, simply separate the versions with a plus sign. As an example, if you'd like to run a command for versions 5.2-5.4, you'd use: 5.2+5.3+5.4. Each version is interpreted using the rules above, so you can combine them: e.g. 5.3.1+source-5.4+cl-12345678.