AutomationTool は、C# 使用時に Unreal Engine (UE) 関連の無人プロセスのスクリプティングに使用できるホスト プログラムと一連のユーティリティ ライブラリです。内部では、ゲームのビルド、クック、実行、自動化テストの実行、ビルド ファームで実行するその他の操作のスクリプティングなど、さまざまなタスクに AutomationTool が使用されています。
AutomationTool のソース コードや、その下で実行されるさまざまなスクリプトは、Engine/Source/Programs/AutomationTool
で確認することができます。
このツールは厚意で提供されているため、提供できるサポートのレベルは限られています。
AutomationTool の仕組み
自動化プロジェクト
実行時、AutomationTool は自動化プロジェクト (拡張子 .Automation.csproj
の Visual Studio C# プロジェクトとして保存されています) をすべて検出して、コンパイルし、リフレクションを使用して適切な実行対象コマンドを見つけます。それらのコマンドは BuildCommand
基本クラスから派生したクラスとして実装されており、クラス名で識別されます。
詳細については、「自動化プロジェクトを追加する」 方法と 「コマンドを追加する」 方法を参照してください。
AutomationTool を実行する
コマンドは、Windows の Visual Studio デバッガーまたは Windows、Mac、Linux のコマンドラインから実行できます。
コマンドをデバッガーで実行する
Visual Studio のデバッガーで AutomationTool を実行する方法
-
AutomationTool プロジェクトを右クリックし、コンテキスト メニューから [Properties (プロパティ)] を選択します。
-
[Debug (デバッグ)] タブを選択し、コマンド名 (ここでは「
SampleCommand
」) を [Start Options (開始オプション)] > [Command line arguments: (コマンドライン引数:)] フィールドに入力します。 -
スクリプトにブレークポイントを設定してから、F5 キーを押します (または Visual Studio ツールバーの [Start (開始)] ボタンをクリックします)。
コマンドをコマンドラインで実行する (Windows)
コマンドラインで AutomationTool を実行する方法
-
コマンド プロンプト ウィンドウを開きます。
-
作業ディレクトリを「
Engine/Build/BatchFiles
」に変更します。 -
.コマンドラインに「
RunUAT.bat SampleCommand
」と入力します。
ターミナルでコマンドを実行する (Mac/Linux)
ターミナルで AutomationTool を実行する方法
-
ターミナルを開きます。
-
作業ディレクトリを「
Engine/Build/BatchFiles
」に変更します。 -
コマンドラインに「
./RunUAT.sh SampleCommand
」と入力します。
コマンドライン構文
AutomationTool コマンドラインの一般的な構文は以下のとおりです。
RunUAT.bat Command1 [-Arg1 -Arg2...] Command2 [-Arg3 -Arg4…] ...
ここでは、2 つのコマンドが順次実行されます。-Arg1
と -Arg2
が Command1
に渡され、 -Arg3
と -Arg4
が Command2
に渡されます。
グローバル オプションは以下のとおりです。
オプション | 説明 |
---|---|
-Help |
通常は、AutomationTool のヘルプとオプションを表示します。または、(コマンド名の後に指定した場合) その特定のコマンドのヘルプを表示します。 |
-List |
利用可能な AutomationTool コマンドすべてのリストを表示します。 |
-P4 |
Perforce サポートを有効にします。 |
-Submit |
ファイルを送信する自動化プロセスを許可します。 |
-NoCompile |
スタートアップ時に .Automation.csproj ファイルが AutomationTool によってコンパイルされないようにします。 |
設定した場合、次の環境変数がビルド マシンの Perforce サポート構成のために使用されます。これらは、AutomationTool コマンドラインで VARNAME=VALUE
構文で設定されるか、または現在のセッションから継承されます。
環境変数 | 説明 |
---|---|
uebp_PORT |
Perforce サーバとポート (例: perforce:1666 )。 |
uebp_CLIENT_ROOT |
現在のクライアントのローカル ルート ディレクトリのパス (例: D:\P4 )。 |
uebp_CL |
同期対象の現在の変更リスト。 |
uebp_CodeCL |
同期対象の現在のコード変更リスト。uebp_CL で指定される前のものである可能性があります。 |
uebp_USER |
Perforce ユーザー。 |
uebp_CLIENT |
Perforce にアクセスするために使用するクライアントの名前。 |
uebp_BuildRoot_P4 |
現在のブランチまたはストリームのルートのパス (例: //UE4/Release-4.22 )。 |