*BuildGraph は、Unreal Engine で拡張可能なビルド プロセスを作成するための Unreal Automation Tool スクリプトであり、ローカルで実行することも、ビルド ファーム全体で並行して実行することもできます。
コマンドラインから実行する
Unreal Automation Tool スクリプトとして、プラットフォームに応じて RunUAT
バッチ ファイルまたはシェル スクリプトを通じて「Engine\Build\BatchFiles
」ディレクトリからコマンドラインで BuildGraph を直接実行できます。
Windows
./RunUAT.bat BuildGraph [ARGUMENTS]
Linux と Mac
./RunUAT.sh BuildGraph [ARGUMENTS]
スクリプト例
エンジン ソースには、使用可能なサンプルの BuildGraph XML ファイルがいくつかあります。これらのファイルは「Engine/Build/Graph/Examples
」ディレクトリにあります。これらのサンプル ファイルには次のものが含まれます。
AllExamples.xml
:このスクリプトは、スクリプトProperties.xml
、TagsAndFiles.xml
、Building.xml
を組み合わせたものです。BuildEditorAndTools.xml
:このスクリプトには、アーティストがエンジンで作業するために必要なツールとエディタ バイナリをコンパイルする方法、配布用のステージング ディレクトリにコピーする方法、必要に応じて Perforce に送信する方法が示されています。Building.xml
:このスクリプトは UnrealPak をコンパイルします。BuildWorldPartitionHLODs.xml
:このスクリプトはワールド パーティション HLOD をビルドします。Macros.xml
:このスクリプトはマクロを定義および使用するためのサンプルです。Properties.xml
:このスクリプトは、さまざまな BuildGraph プロパティを使用する例です。TagsAndFiles.xml
:このスクリプトは、ファイルの操作とやり取りの例です。
BuildGraph が使用する XML スキーマ ファイルは「Schema.xsd
」という名前で、「Engine/Build/Graph
」にあります。
コマンド例
利用可能なすべてのノードとオプション
次のコマンドを実行すると、BuildGraph スクリプトで使用可能なすべてのノードとオプションを確認できます。
./RunUAT.bat BuildGraph -Script=Engine/Build/Graph/Examples/AllExamples.xml -ListOnly
制御フロー
「Properties.xml
」BuildGraph スクリプトを実行すると、制御フローがどのように動作するかを確認できます。
./RunUAT.bat BuildGraph -Script=Engine/Build/Graph/Examples/Properties.xml -Target="Property Examples" -Clean
このスクリプトは、true と評価される条件を実行し、対応するメッセージを出力します。また、「BuildGraph Script Anatomy」の一部として説明されているいくつかの制御フロー ステートメントの動作も示します。
Unreal Engine のインストール済みビルドを作成する
この「InstalledEngineBuild.xml
」BuildGraph スクリプトで下記のコマンドを使用すると、Windows 用 UE のインストール済みビルドを作成できます。
./RunUAT.bat BuildGraph -Script=Engine/Build/InstalledEngineBuild.xml -Target="Make Installed Build Win64" -set:HostPlatformOnly=true -Clean
これにより、インストールされたエンジン ビルドが作成されます。このビルドは「<UNREAL_ENGINE_ROOT>/LocalBuilds/InstalledDDC/Engine/Binaries/Win64
」にあります。
コマンドライン引数
BuildGraph は、-help
コマンドラインにヘルプ テキストを表示するコマンドをサポートしています。コマンドラインから利用可能な BuildGraph
引数を表示するには、次を実行します。
./RunUAT.bat BuildGraph -help
カスタム コマンドライン オプション
BuildGraph は、カスタム コマンドライン オプションを BuildGraph スクリプトに渡すことをサポートしています。XML スクリプトでカスタム オプションを定義するには、次を使用します。
<Option Name="NAME" Restrict="REGEX" DefaultValue="DEF_VAL" Description="DESCRIPTION"/>
オプションのコンポーネントは次のとおりです。
Name
:コマンドラインから参照するオプションの名前。Restrict
:受け入れられる値を制限する正規表現。DefaultValue
:何も指定されていない場合のオプションのデフォルト値。Description
:このオプションの説明 (使用方法を含む)。
次に、次のようにコマンドラインからオプションをスクリプトに渡すことができます。
-Set:<OPTION_NAME>=<OPTION_VALUE>
例
XML スクリプトで定義されたオプションの例を次に示します。
<Option Name="MyBooleanOption" Restrict="true|false" DefaultValue="false" Description="A boolean option for my BuildGraph script."/>
コマンドラインからこのオプションをスクリプトに渡す方法は次のとおりです。
-Set:MyBooleanOption=true
参照
この表には、次のようにコマンドラインから実行する場合に BuildGraph で使用できるコマンドライン引数のリストが含まれています。
./RunUAT.bat BuildGraph [ARGUMENTS]
引数 | 説明 |
---|---|
-Script=<FILE_NAME> |
グラフを説明するスクリプトへのパス。 |
-Target=<NAME> |
ビルドするノードまたは出力タグの名前。 |
-Schema |
デフォルトの場所にスキーマを生成します。 |
-Schema=<FILE_NAME> |
すべての既知のタスクを含む、有効なスクリプト ドキュメントを記述するスキーマを生成します。 |
-ImportSchema=<FILE_NAME> |
既存のスキーマ ファイルからスキーマをインポートします。 |
-Set:<PROPERTY>=<VALUE> |
名前付きの PROPERTY を与えられた VALUE にセットします。 |
-Branch=<VALUE> |
現在のブランチの自動検出をオーバーライドします。 |
-Clean |
実行前に、完了したビルド ノードのキャッシュされた状態をすべて消去します。 |
-CleanNode=<NAME>[+<NAME>...] |
実行する前に、指定されたノードをクリーンアップします。 |
-Resume |
正常に完了した最後のノードからローカル ビルドを再開します。 |
-ListOnly |
プリプロセスされたグラフの内容を表示します。ただし、実行はしません。 |
-ShowDiagnostics |
-ListOnly で実行すると、グラフのパース時に入力された診断メッセージが表示されます。 |
-ShowDeps |
グラフ出力にノードの依存関係を表示します。 |
-ShowNotifications |
出力内の各ノードに対して送信される通知を表示します。 |
-Trigger=<NAME> |
指定されたトリガーの背後にあるノードのみを実行します。 |
-SkipTrigger=<NAME>[+<NAME>...] |
グラフ内でその背後にあるすべてのノードを含め、指定されたトリガーをスキップします。 |
-SkipTriggers |
すべてのトリガーをスキップします。 |
-TokenSignature=<NAME> |
現在のジョブを識別するシグネチャを指定し、それを必要とするモードのトークンに書き込むようにします。このパラメータが指定されていない場合、トークンは無視されます。 |
-SkipTargetsWithoutTokens |
トークンを取得できないターゲットを、失敗させるのではなく除外します。 |
-Preprocess=<FILE_NAME> |
プリプロセスされたグラフを指定されたファイルに書き込みます。 |
-Export=<FILE_NAME> |
ビルド システムの一部として使用するために、プリプロセスされたビルド グラフを含む JSON ファイルをエクスポートします。 |
-HordeExport=<FILE_NAME> |
Horde で使用する完全なビルド グラフを含む JSON ファイルをエクスポートします。 |
-PublicTasksOnly |
スキーマにはビルトイン タスクのみを含め、他の UAT モジュールは除外します。 |
-SharedStorageDir=<DIR_NAME> |
ビルド ファーム内のエージェント間でビルド製品を転送するために使用するディレクトリを設定します。 |
-SingleNode=<NAME> |
指定されたノードのみを実行します。-Export で実行後のビルド システムでの使用を想定しています。 |
-WriteToSharedStorage |
共有ストレージへの書き込みを許可します。設定されていないものの -SharedStorageDir が指定されている場合、ビルド製品の読み取りは行われますが、書き込みは行われません。 |