UnrealAutomationTool (UAT)
UnrealAutomationTool (UAT) とは
UE4 のパッケージの作成には、cpp のコンパイル以外にも必要な手順がいくつか存在します。 また、それぞれ専用のツールが存在しています。
- UnrealBuildTool, ShaderCompileWorker, UnrealPak, Lightmass などツールのビルド : UnrealAutomationTool が行う。
- ソースコード cpp のビルド : UnrealBuildTool が行う。内部で UnrealHeaderTool のビルドや呼び出しも行う。
- Contents の cook : UE4Editor 本体が行う
- パッケージの生成 : pak 生成に UnrealPak を使う
- Deploy や起動
これらの手順をまとめて実行するためのツールが 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) を使います。
- Windows: Engine/Build/BatchFiles/RunUAT.bat
- Windows以外: Engine/Build/BatchFiles/RunUAT.sh
Command
実行できるコマンドの一覧を確認するには、オプション「-list」を使用します。
RunUAT.bat -list
オプション「-verbose」をつけるとより詳しい情報がわかります。 例えば BuildCookRun 時に利用可能な内部のオプション設定状況もログに残ります。
AutomationTool のビルド方法
VisualStudio 上でビルドします。 ソリューションエクスプローラーの “AutomationTool” の上で、右クリック → ビルド を実行します。
なお、VisualStudio がインストールされている環境であれば、RunUAT.bat を呼び出すたびに AutomationTool.exe のビルドチェックが行われ、必要な場合はビルドします。
ただし RunUAT.bat からビルドできるバイナリは完全ではないので注意してください。 AutomationTool.exe と一部の dll をビルドしますが、その他の Platform 系 dll はビルドしません。 ソースを書き換えた場合など、必要になったら VisualStudio 上でビルドを行っておいてください。