BuildGraph スクリプト タスク

カスタム タスクの作成に BuildGraph を活用する方法について説明します。

Choose your operating system:

Windows

macOS

Linux

通常、プロジェクト固有のユーティリティ スクリプトが AutomationTool BuildCommand クラスとして実装されます。カスタム タスクをプロジェクト用に自動化するには、BuildGraph が役立ちます。BuildGraph はタスクをいくつでも拡張し、各自の特定のニーズに合わせた方法でビルド自動化タスクをカスタマイズすることができます。次のセクションでは、BuildGraph を使用してカスタム タスクを作成する方法を説明します。カスタム タスク作成を開始する際に最適な定義済みタスクの一覧も示します。

カスタム タスク

新しいカスタム タスクを作成するには、 CustomTask クラスから派生したクラスを実装し、それに [TaskElement] 属性を適用します。 TaskElement コンストラクタには、2 つの引数があります。それが表される XML エレメントの名前と、そのパラメータが含まれるクラスの型です (ロード時に超すトラクタへ渡されます)。

XML ファイルからパラメータのクラス フィールドを読み出す場合は、タスクに [TaskParameter] 属性をアタッチします。 TaskParameter 属性をアタッチすると、引数に適用されるべき追加のバリデーションを含めて、パラメータが必須であるか任意であるかを示します。

定義済みタスク

タスク作成の開始点として、テンプレートに多様な定義済みタスクがあります。単純な定義済みタスクを求めている場合は、 LogTask から始めることをお勧めします。BuildGraph の最新情報を知りたい場合は、このページをブックマークしてください。以下の定義済みタスクの一覧が定期的に更新されます。

BuildCookRun はパワフルなコマンドで、一般的にパッケージング作業で使用されます。詳細については「 ビルド操作 」を参照してください。

AgeStore

一連のファイルからシンボルを取り除くタスク。このタスクの名前は Microsoft デバッガー ツール SDK に付属する AGESTORE ユーティリティにちなんでいますが、実際には個別に実装されたものです。主な違いは削除するファイルを決定するときに、最終アクセス時刻ではなく最終変更時刻を使用することです。

Platform

UnrealTargetPlatform

必須

シンボルをエージングするターゲット プラットフォーム。

StoreDir

String

必須

シンボル サーバー ディレクトリ。

Days

Int32

必須

必要なシンボルを保持する日数。

BuildDir

String

省略可能

ビルド ディレクトリのルート。既存のビルド バージョンの名前がついたディレクトリを確認します。

Filter

String

省略可能

シンボルを削除する前に、ディレクトリのファイル名と一致する部分文字列。これにより複数のビルドが同じシンボル サーバーを共有する場合に、「age store」タスクが他のビルドからシンボルを削除することを回避できます。このフィルタ値の特定の用途は、プラットフォーム ツールチェーンで定義したシンボル サーバーの構造によって決まります。

If

条件式

省略可能

このタスクを実行するかどうか。この条件式が false と評価された場合は無視します。

Command

AutomationTool の子プロセスを呼び出して、指定されたコマンドを実行します。

Name

String

必須

実行するコマンド名。

Arguments

String

省略可能

コマンドに渡す引数。

MergeTelemetryWithPrefix

String

省略可能

null 以外の場合、コマンドからのテレメトリを、指定したプレフィックスを持つこの UAT インスタンスのテレメトリとマージするように指示します。空の文字列 (null ではない) の可能性があります。

If

条件式

省略可能

このタスクを実行するかどうか。この条件式が false と評価された場合は無視します。

Commandlet

エディタをスポーンしてコマンドレットを実行します。

Name

String

必須

実行するコマンドレット名。

Project

File Spec

省略可能

エディタで実行するプロジェクト。

Arguments

String

省略可能

コマンドレットに渡す引数。

EditorExe

FileReference

省略可能

使用するエディタの実行可能ファイル。デフォルトは、現在のプラットフォーム用の開発 UE4Editor の実行可能ファイルです。

ErrorLevel

Int32

省略可能

エラーとして処理される最小の終了コードです。

If

条件式

省略可能

このタスクを実行するかどうか。この条件式が false と評価された場合は無視します。

Compile

UnrealBuildTool でターゲットをコンパイルします。

Target

String

必須

コンパイルするターゲット。

Configuration

UnrealTargetConfiguration

必須

コンパイルするコンフィギュレーション。

Platform

UnrealTargetPlatform

必須

コンパイルするプラットフォーム。

Project

String

省略可能

コンパイルするプロジェクト。

Arguments

String

省略可能

UnrealBuildTool の追加の引数。

AllowXGE

Boolean

省略可能

コンパイルに XGE の使用を許可するかどうか。

AllowParallelExecutor

Boolean

省略可能

このコンパイルに並列エグゼキューターの使用を許可するかどうか。

Clean

Nullable`1

省略可能

このターゲットにクリーンを許可するかどうか。指定しない場合でも、コマンドラインで -Clean 引数を渡すとターゲットがクリーンされます。

Tag

Tag List

省略可能

このタスクのビルド プロダクトに適用するタグ。

If

条件式

省略可能

このタスクを実行するかどうか。この条件式が false と評価された場合は無視します。

Cook

特定のプラットフォーム用に、選択したマップをクックします。

Project

String

必須

クックするプロジェクト ファイル。

Platform

String

必須

ターゲットにするクック プラットフォーム (例:WindowsNoEditor)。

Maps

String

省略可能

「+」文字で区切られた、クックするマップのリスト。

Versioned

Boolean

省略可能

クッカーに渡す追加の引数。

Arguments

String

省略可能

クッカーに渡す追加の引数。

Tag

Tag List

省略可能

このタスクのビルド プロダクトに適用するタグ。

If

条件式

省略可能

このタスクを実行するかどうか。この条件式が false と評価された場合は無視します。

Copy

あるディレクトリから別のディレクトリにファイルをコピーします。

Files

File Spec

省略可能

入力ファイルのリストに適用する省略可能のフィルタ。

From

File Spec

必須

コピー元のパターン (例:Engine/*.txt)。

To

File Spec

必須

コピー先のディレクトリ。

Overwrite

Boolean

省略可能

既存のファイルを上書きするかどうか。

Tag

Tag List

省略可能

このタスクのビルド プロダクトに適用するタグ。

If

条件式

省略可能

このタスクを実行するかどうか。この条件式が false と評価された場合は無視します。

CsCompile

C# のプロジェクト ファイルとその依存関係をコンパイルします。

Project

String

必須

コンパイルする C# プロジェクト ファイル。セミコロンを使用して複数のプロジェクト ファイルを指定できます。

Configuration

String

省略可能

コンパイルするコンフィギュレーション。

Platform

String

省略可能

コンパイルするプラットフォーム。

Target

String

省略可能

ビルドするターゲット。

Arguments

String

省略可能

コンパイラに渡す追加省略可能。

EnumerateOnly

Boolean

省略可能

ビルド プロダクトを列挙するだけです。実際にプロジェクトをコンパイルはしません。

Tag

Tag List

省略可能

このタスクのビルド プロダクトに適用するタグ。

TagReferences

Tag List

省略可能

プロジェクトが含む非プライベート参照に適用するタグ。(たとえば、出力ディレクトリにコピーしない外部にあるもの)。

If

条件式

省略可能

このタスクを実行するかどうか。この条件式が false と評価された場合は無視します。

Delete

一連のファイルを削除します。

Files

File Spec

必須

セミコロンで区切ったファイル仕様のリスト (例: .cpp;Engine/.../ .bat)、またはタグ セットの名前

DeleteEmptyDirectories

Boolean

省略可能

ファイルを削除した後に、空のディレクトリを削除するかどうか。デフォルトは true です。

If

条件式

省略可能

このタスクを実行するかどうか。この条件式が false と評価された場合は無視します。

Log

メッセージ (およびその他省略可能の診断情報) を出力ログに出力します。

Message

String

省略可能

出力するメッセージ。

Files

File Spec

省略可能

指定した場合、設定したメッセージの後に指定したファイルのリストを出力します。

IncludeContents

Boolean

省略可能

指定した場合、設定したファイルのコンテンツを出力します。

If

条件式

省略可能

このタスクを実行するかどうか。この条件式が false と評価された場合は無視します。

ModifyConfig

コンフィグ ファイルを変更します。

File

File Spec

必須

コンフィグ ファイルのパス

Section

String

必須

変更するセクション名

Key

String

必須

設定するプロパティ名

Value

String

必須

設定するプロパティ値

Tag

Tag List

省略可能

抽出したファイルに適用するタグ

If

条件式

省略可能

このタスクを実行するかどうか。この条件式が false と評価された場合は無視します。この条件式が false と評価された場合は無視します。

Move

あるディレクトリから別のディレクトリにファイルを移動します。

Files

File Spec

省略可能

入力ファイルのリストに適用する省略可能のフィルタ。

From

File Spec

必須

コピー元のパターン (例:Engine/*.txt)。

To

File Spec

必須

コピー先のディレクトリ。

Tag

Tag List

省略可能

このタスクのビルド プロダクトに適用するタグ。

If

条件式

省略可能

このタスクを実行するかどうか。この条件式が false と評価された場合は無視します。この条件式が false と評価された場合は無視します。

MsBuild

MsBuild を実行します。

Project

String

必須

コンパイルする C# プロジェクト ファイル。セミコロンを使用して複数のプロジェクト ファイルを指定できます。

Configuration

String

省略可能

コンパイルするコンフィギュレーション。

Platform

String

省略可能

コンパイルするプラットフォーム。

Arguments

String

省略可能

コンパイラに渡す追加省略可能。

Verbosity

String

省略可能

MSBuild 出力の詳細。

If

条件式

省略可能

このタスクを実行するかどうか。この条件式が false と評価された場合は無視します。

PakFile

指定した一連のファイルから PAK ファイルを作成します。

Files

File Spec

必須

PAK ファイルに追加するファイルのリスト、ワイルドカード、タグ セット。「;」文字で区切ります。

Output

FileReference

必須

出力する PAK ファイル。

ResponseFile

FileReference

省略可能

個別に指定する代わりの、PAK ファイルに追加するファイルのリストを含む応答ファイルのパス。

RebaseDir

HashSet`1

省略可能

関連するファイルをリベースするディレクトリ。指定した場合、リストしたディレクトリ配下の、最も短いパスを各ファイルに対して使用します。

Order

FileReference

省略可能

ファイルの順序を示すスクリプト。

Sign

FileReference

省略可能

この PAK ファイルの暗号化キー。

Compress

Boolean

省略可能

ファイルを圧縮するかどうか。

Arguments

String

省略可能

UnrealPak に渡す追加の引数。

Tag

Tag List

省略可能

このタスクのビルド プロダクトに適用するタグ。

If

条件式

省略可能

このタスクを実行するかどうか。この条件式が false と評価された場合は無視します。この条件式が false と評価された場合は無視します。

Rename

ファイル、またはファイルのグループの名前を変更します。

Files

File Spec

必須

1 つもしくは複数の、名前を変更するファイル。

From

String

省略可能

現在のファイル名、もしくは一致するパターン (例:*.txt)。パス区切り文字は使用できません。

To

String

必須

1 つもしくは複数のファイルの、新しい名前。パス区切り文字は使用できません。

Tag

Tag List

省略可能

名前を変更したファイルに適用するタグ。

If

条件式

省略可能

このタスクを実行するかどうか。この条件式が false と評価された場合は無視します。この条件式が false と評価された場合は無視します。

SanitizeReceipt

「*.target」ファイルから読み取ることにより、ビルド プロダクトやランタイム依存関係をタグ付けするタスク。

Files

File Spec

必須

セミコロンで区切った、ワイルドカードとタグ名を含む、一連のレシート ファイル (*.target)。

EngineDir

DirectoryReference

省略可能

レシート ファイルの $(EngineDir) プロパティを展開するために使用する Engine フォルダのパス。現在のワークスペースの Engine ディレクトリがデフォルトです。

If

条件式

省略可能

このタスクを実行するかどうか。この条件式が false と評価された場合は無視します。この条件式が false と評価された場合は無視します。

SetVersion

指定したバージョン情報でローカル バージョン ファイル (Engine/Source/Runtime/Launch/Resources/Version.h、Engine/Build/Build.version、および Engine/Source/Programs/DotNETCommon/Metadata.cs) を更新します。

Change

Int32

必須

バージョン ファイルに設定する変更リスト。

CompatibleChange

Int32

省略可能

バージョン ファイルに設定するエンジン互換の変更リスト。

Branch

String

必須

Branch 文字列。

Build

String

省略可能

ビルド バージョン文字列。

Licensee

Boolean

省略可能

IS_LICENSEE_VERSION フラグを true に設定するかどうか。

Promoted

Boolean

省略可能

ENGINE_IS_PROMOTED_BUILD フラグを true に設定するかどうか。

SkipWrite

Boolean

省略可能

設定した場合、ファイルに書き込みが行われず、ただ更新されるバージョン ファイルを返します。ローカル ビルドに便利です。

Tag

Tag List

省略可能

このタスクのビルド プロダクトに適用するタグ。

If

条件式

省略可能

このタスクを実行するかどうか。この条件式が false と評価された場合は無視します。この条件式が false と評価された場合は無視します。

Sign

インストール済みの証明書で一連の実行可能ファイルに署名します。

Files

File Spec

必須

セミコロンで区切ったファイル仕様のリスト (例: .cpp;Engine/.../ .bat)、またはタグ セットの名前

Tag

Tag List

省略可能

このタスクのビルド プロダクトに適用するタグ。

If

条件式

省略可能

このタスクを実行するかどうか。この条件式が false と評価された場合は無視します。この条件式が false と評価された場合は無視します。

Spawn

外部の実行可能ファイルをスポーンして完了を待ちます。

Exe

String

必須

スポーンする実行可能ファイル。

Arguments

String

省略可能

新しく作成されたプロセスの引数。

ErrorLevel

Int32

省略可能

エラーとして扱われる最小の終了コード。

If

条件式

省略可能

このタスクを実行するかどうか。この条件式が false と評価された場合は無視します。

Stage

ビルド レシートにリストされているファイルを出力ディレクトリにステージします。

Project

FileReference

省略可能

このターゲットが属するプロジェクト。

Target

String

必須

ステージするターゲットの名前。

Platform

UnrealTargetPlatform

必須

ステージするプラットフォーム。

Configuration

UnrealTargetConfiguration

必須

ステージするコンフィギュレーション。

Architecture

String

省略可能

ステージするアーキテクチャ。

ToDir

DirectoryReference

必須

レシート ファイルをステージする先のディレクトリ。

Overwrite

Boolean

省略可能

既存のファイルを上書きするかどうか。

Tag

Tag List

省略可能

このタスクのビルド プロダクトに適用するタグ。

If

条件式

省略可能

このタスクを実行するかどうか。この条件式が false と評価された場合は無視します。この条件式が false と評価された場合は無視します。

Strip

一連のファイルからデバッグ情報を取り除きます。

Platform

UnrealTargetPlatform

必須

バイナリを除去するプラットフォーム ツールチェーン。

BaseDir

DirectoryReference

省略可能

ファイルを検索するディレクトリ。

Files

File Spec

必須

セミコロンで区切ったファイル仕様のリスト (例:Engine/.../*.pdb)、またはタグ セットの名前。

OutputDir

DirectoryReference

省略可能

除去されたファイルの出力ディレクトリ。デフォルトは入力パスで、入力ファイルを上書きします。

Tag

Tag List

省略可能

このタスクのビルド プロダクトに適用するタグ。

If

条件式

省略可能

このタスクを実行するかどうか。この条件式が false と評価された場合は無視します。この条件式が false と評価された場合は無視します。

Submit

新しい変更リストを作成して、一連のファイルを Perforce ストリームに送信します。

Description

String

必須

送信する変更リストの説明。

Files

File Spec

必須

送信するファイル。

FileType

String

省略可能

送信するファイルの Perforce ファイル タイプ (例: binary+FS32)。

Workspace

String

省略可能

ワークスペースの名前。指定した場合、与えられたストリームとルート ディレクトリを使用して新しいワークスペースを作成し、ファイルを送信します。指定しない場合は現在のワークスペースを使用します。

Stream

String

省略可能

ワークスペースのストリームで、デフォルトは現在のストリームです。Workspace 属性も指定していない場合は無視されます。

RootDir

DirectoryReference

省略可能

ストリームのルート ディレクトリ。指定しない場合、デフォルトは現在のルート ディレクトリです。

RevertUnchanged

Boolean

省略可能

送信を試みる前に未変更のファイルを元に戻すかどうか。

Force

Boolean

省略可能

問題解決が必要な場合でも強制的に送信する (常に現在のバージョンを受け入れる)。

If

条件式

省略可能

このタスクを実行するかどうか。この条件式が false と評価された場合は無視します。

SymStore

一連のファイルからシンボルを取り除くタスク。

Platform

UnrealTargetPlatform

必須

シンボル ファイルの処理に必要なプラットフォーム ツールチェーン。

Files

String

必須

出力ファイルのリスト。このリストから PDB を抽出します。

StoreDir

String

必須

圧縮したシンボルの出力ディレクトリ。

Product

String

必須

シンボル ストア レコードのプロダクト名。

BuildVersion

String

省略可能

これらのシンボルに関連付けられた BuildVersion。このバージョンをビルド共有のディレクトリ名と照合することで、AgeStore のクリーンアップに使用します。

If

条件式

省略可能

このタスクを実行するかどうか。この条件式が false と評価された場合は無視します。この条件式が false と評価された場合は無視します。

Tag

指定した一連のファイルにタグを適用します。ファイルのリストは、Files パラメータで指定したタグとファイル仕様を列挙すると見つかります。このリストから、Filter パラメータに一致しないファイルと Except パラメータと一致するファイルがすべて削除されます。

BaseDir

DirectoryReference

省略可能

ベース ディレクトリを設定して、相対パスとパターンを解決します。設定した場合、絶対パターン (例:/Engine/Build/...) がこのパスに相対的であると見なされます。設定しない場合は、本当に絶対パスとして見なされます。

Files

File Spec

省略可能

セミコロンで区切ったワイルドカードとタグ名を含む、作業する一連のファイル。設定した場合は BaseDir に関連して解決され、設定しない場合はブランチ ルート ディレクトリに対して解決されます。

FileLists

File Spec

省略可能

追加ファイルを追加する一連のテキスト ファイル。各ファイル リストは、1 行につき 1 つのファイルが必要です。

Filter

File Spec

省略可能

タグ名やワイルドカードを含む、ファイルのリストをフィルタ処理するパターン。設定した場合、ベース ディレクトリに適用するパターンを含むことができます。指定しない場合、デフォルトはすべてのファイルです。

Except

File Spec

省略可能

一致リストから除外する一連のパターン。ベース ディレクトリに適用するパターンのタグ名を含むことができます。

With

Tag List

必須

適用するタグの名前。

If

条件式

省略可能

このタスクを実行するかどうか。この条件式が false と評価された場合は無視します。この条件式が false と評価された場合は無視します。

TagReceipt

「*.target」ファイルから読み取ることにより、ビルド プロダクトやランタイム依存関係をタグ付けするタスク。

Files

File Spec

必須

セミコロンで区切った、ワイルドカードとタグ名を含む、一連のレシート ファイル (*.target)。

EngineDir

DirectoryReference

省略可能

レシート ファイルの $(EngineDir) プロパティを展開するために使用する Engine フォルダのパス。現在のワークスペースの Engine ディレクトリがデフォルトです。

ProjectDir

DirectoryReference

省略可能

レシート ファイルの $(ProjectDir) プロパティを展開するために使用するプロジェクト フォルダのパス。デフォルトは現在のワークスペースの「Engine」ディレクトリです -- 非推奨。

BuildProducts

Boolean

省略可能

レシートにリストされているビルド プロダクトにタグ付けするかどうか。

BuildProductType

String

省略可能

タグを付けるビルド プロダクトのタイプ (参照:TargetReceipt.cs - 有効な値は UnrealBuildTool.BuildProductType)。

RuntimeDependencies

Boolean

省略可能

レシートにリストされているランタイム依存関係にタグ付けするかどうか。

StagedFileType

String

省略可能

タグを付けるランタイム依存関係のタイプ (参照:argetReceipt.cs - 有効な値は UnrealBuildTool.StagedFileType)。

With

Tag List

必須

適用するタグの名前。

If

条件式

省略可能

このタスクを実行するかどうか。この条件式が false と評価された場合は無視します。この条件式が false と評価された場合は無視します。

Unzip

ZIP アーカイブからファイルを抽出します。

ZipFile

File Spec

必須

解凍する ZIP ファイルへのパス。

ToDir

DirectoryReference

必須

抽出したファイルの出力ディレクトリ。

Tag

Tag List

省略可能

抽出したファイルに適用するタグ

If

条件式

省略可能

このタスクを実行するかどうか。この条件式が false と評価された場合は無視します。この条件式が false と評価された場合は無視します。

WriteTextFile

ファイルにテキストを書きこみます。

File

FileReference

必須

書き込むファイルへのパス。

Append

Boolean

省略可能

省略可能。上書きではなく追加するかどうかを指定。

Text

String

省略可能

ファイルに書き込むテキスト。

Files

File Spec

省略可能

指定した場合、設定したメッセージの後に指定したファイルのリストを出力します。

Tag

Tag List

省略可能

このタスクのビルド プロダクトに適用するタグ。

If

Condition

省略可能

このタスクを実行するかどうか。この条件式が false と評価された場合は無視します。この条件式が false と評価された場合は無視します。

Zip

ファイルを ZIP アーカイブに圧縮します。

FromDir

DirectoryReference

必須

圧縮ファイルを読み取るディレクトリ。

Files

File Spec

省略可能

セミコロンで区切ったファイル仕様のリスト (例: .cpp;Engine/.../ .bat)、またはタグ セットの名前。相対パスを FromDir から取得します。

ZipFile

FileReference

必須

作成する ZIP ファイル。

Tag

Tag List

省略可能

作成した ZIP ファイルに適用するタグ。

If

条件式

省略可能

このタスクを実行するかどうか。この条件式が false と評価された場合は無視します。この条件式が false と評価された場合は無視します。

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