BuildGraph の使用方法

このページでは、BuildGraph スクリプトの使用例を示します。

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.xmlTagsAndFiles.xmlBuilding.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 スクリプトでカスタム オプションを定義するには、次を使用します。

オプションのコンポーネントは次のとおりです。

  • 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 が指定されている場合、ビルド製品の読み取りは行われますが、書き込みは行われません。

Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
キャンセル