UE4 のパッケージの作成には、cpp のコンパイル以外にも必要な手順がいくつか存在します。 また、それぞれ専用のツールが存在しています。
これらの手順をまとめて実行するためのツールが UnrealAutomationTool (UAT) です。
本来のビルドツールだと、ソースコードのビルドとリソースの変換やパッケージ化などの生成手段に区別がありません。 たとえば make なら、Makefile 内部でソースコードのコンパイルだけでなくリソースの変換やパッケージ化など一連の処理をまとめて実行できます。
つまり汎用的なビルドツールだと UBT と UAT 相当のツールは兼用されます。 UE4 では、それぞれの手順ごとに専用のツールが用いられていることになります。
ちなみに UAT 自体のビルドは Engine/Build/BatchFiles/RunUAT.bat 内部で行われています。1)
空の Engine/Build/InstalledBuild.txt ファイルを作っておくと InstalledBuild mode になります。 UAT が外部ツールをビルドするのを回避することができます。
UnrealAutomationTool (UAT) を使うと、コマンドラインから UnrealEngine のさまざまな処理を呼び出すことができます。 主な用途としてはパッケージの作成があります。
実行するには、直接 AutomationTool.exe を使用せずに RunUAT.bat (RunUAT.sh) を使います。
実行できるコマンドの一覧を確認するには、オプション「-list」を使用します。
RunUAT.bat -list
オプション「-verbose」をつけるとより詳しい情報がわかります。 例えば BuildCookRun 時に利用可能な内部のオプション設定状況もログに残ります。
VisualStudio 上でビルドします。 ソリューションエクスプローラーの “AutomationTool” の上で、右クリック → ビルド を実行します。
なお、VisualStudio がインストールされている環境であれば、RunUAT.bat を呼び出すたびに AutomationTool.exe のビルドチェックが行われ、必要な場合はビルドします。
ただし RunUAT.bat からビルドできるバイナリは完全ではないので注意してください。 AutomationTool.exe と一部の dll をビルドしますが、その他の Platform 系 dll はビルドしません。 ソースを書き換えた場合など、必要になったら VisualStudio 上でビルドを行っておいてください。