ユーザ用ツール

サイト用ツール


ue4:automationtool

UnrealAutomationTool (UAT)

UnrealAutomationTool (UAT) とは

UE4 のパッケージの作成には、cpp のコンパイル以外にも必要な手順がいくつか存在します。 また、それぞれ専用のツールが存在しています。

  1. UnrealBuildTool, ShaderCompileWorker, UnrealPak, Lightmass などツールのビルド : UnrealAutomationTool が行う。
  2. ソースコード cpp のビルド : UnrealBuildTool が行う。内部で UnrealHeaderTool のビルドや呼び出しも行う。
  3. Contents の cook : UE4Editor 本体が行う
  4. パッケージの生成 : pak 生成に UnrealPak を使う
  5. 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 上でビルドを行っておいてください。

1)
注意: RunUAT.bat でビルドできるのは一部の dll と AutomationTool.exe だけです。Platform 毎の dll など完全なビルドは行われないので注意してください。VisualStudio 上からビルドすると完全なビルドを行うことができます。
ue4/automationtool.txt · 最終更新: 2021/12/21 16:50 by oga