デベロッパーは、多様なハードウェア プロファイルとオペレーション システム向けに、ビルド ソリューションを効率よく提供する方法を常に求めています。Installed Build は、完全な機能を備えた Unreal Engine (UE) ビルドです。Installed Build を再配布することで、チームがエンジンを使用して、迅速に作業に着手することができます。技術的な観点でいえば、Installed Build には UE のプリコンパイルされたバイナリと、開発およびシッピング コンフィギュレーションに含まれる各ターゲット プラットフォームの静的ライブラリが含まれています。
Installed Build プロセスでは UE の Installed Build バージョンを作成するために必要なパッケージとツールの構築が自動化されます。つまり、Installed Build の作成とは、デフォルトのターゲット プラットフォームの設定、UE とそのツールおよびエディタのコンパイル、テストの実行、ターゲット プラットフォームへの Installed Build バージョンの UE のデプロイを行うプロセスです。
独自のビルドを作成するだけでなく、Launcher から UE をダウンロードする必要があります。詳細については「Unreal Engine のソースコードをダウンロードする」を参照してください。
Installed Build を作成する
BuildGraph スクリプティング システムを使用して、[UERoot]/Engine/Build/InstalledBuild.xml
にダウンロードしたソース コードがあるフォルダ内の Installed Build スクリプトで Installed Build を作成することができます。
次の手順で Installed Build を作成します。
システムの コマンド プロンプト を開きます。
コマンドラインを入力し、AutomationTool を呼び出して Installed Build スクリプトを実行します。このコマンドラインは次のようになります (システムに応じて
[PLATFORM]
をWin64
、Linux
、またはMac
に置き換えます)。C:\EpicSource\UE_5.3\UnrealEngine-5.3\Engine\Build\BatchFiles\RunUAT.bat BuildGraph -target="Make Installed Build [PLATFORM]" -script="Engine/Build/InstalledEngineBuild.xml" -clean
このコマンドラインを部分ごとに説明します。
C:\EpicSource\UE_5.3\UnrealEngine-5.3\
- ダウンロードしたソース コードの場所です (使用している PC に応じて異なる場合があります)。Engine\Build\BatchFiles\RunUAT.bat
- ビルドのコマンドに使用する Unreal Automation Tool のコマンド ファイルの場所です。-target="Make Installed Build [PLATFORM]"
- エンジンをビルドするターゲット プラットフォームです ([PLATFORM]
をWin64
、Linux
、またはMac
に置き換えます)。-script=Engine/Build/InstalledEngineBuild.xml
- インストール プロセスのオプションを含むファイルの場所です。追加の Installed Build スクリプトのオプション を調整することもできます。
追加の Installed Build スクリプトのオプション を使用する場合、コードは次のようになります (調整する設定に応じて異なります)。
C:\EpicSource\UE_5.3\UnrealEngine-5.3\Engine\Build\BatchFiles\RunUAT.bat BuildGraph -target="Make Installed Build [PLATFORM]" -script="Engine/Build/InstalledEngineBuild.xml" -set:WithWin64=true -set:WithMac=true -set:WithTVOS=false -set:WithLinux=false -set:WithHTML5=true
デフォルトでは、Installed Build は Unreal Engine ディレクトリの「
LocalBuilds/Engine/
」フォルダに配置されます。公開先としてその他のディレクトリを指定した場合は、そのディレクトリに移動します。
Installed Build スクリプトのオプション
InstalledEngineBuild.xml
スクリプトを使用すると、すべてのデフォルト オプションとプラットフォームが有効になった状態で Installed Build が作成されます。ただし、特定のオプション セットを使用して構成することができます。これらのオプションにより、ビルドに含めるプラットフォームや公開場所など、より詳細な制御が可能になります。
-listonly
オプションをスクリプトに渡すと、ビルド プロセスのカスタマイズに使用できるオプションのリストを、デフォルトでビルドされるノードのリストとともに表示できます。
次の表に、使用可能なオプションを示します。
使用可能なオプションは次のとおりです。
オプション |
デフォルト |
説明 |
---|---|---|
|
false |
各プラットフォームを個別に無効化する必要がないように、ホスト プラットフォームのみにインストール済ビルドを作成するためのヘルパー オプションです。 |
|
true |
Win64 ターゲット プラットフォームを含めます。 |
|
true |
Win32 ターゲット プラットフォームを含めます。 |
|
true |
Mac ターゲット プラットフォームを含めます。 |
|
true |
Android ターゲット プラットフォームを含めます。 |
|
true |
iOS ターゲット プラットフォームを含めます。 このオプションを有効にする場合は、リモート ビルド用に Mac を設定する必要があります。 |
|
true |
tvOS ターゲット プラットフォームを含めます。 このオプションを有効にする場合は、リモート ビルド用に Mac を設定する必要があります。 |
|
true |
Linux ターゲット プラットフォームを含めます。 |
|
true |
Linux Arm64 ターゲット プラットフォームを含めます。 |
|
false |
PS4 ターゲット プラットフォームを含めます。 このオプションを有効にする場合は PS4 SDK が必要です。 |
|
false |
PS5 ターゲット プラットフォームを含めます。 このオプションを有効にする場合は PS5 SDK が必要です。 |
|
false |
Switch ターゲット プラットフォームを含めます。 このオプションを有効にする場合は SwitchSDK が必要です。 |
|
false |
レガシー WithXboxOneGDK ターゲットを含めます。 このオプションを有効にする場合は Xbox One SDK が必要です。 |
|
false |
GDK ターゲット プラットフォームを含めます。 このオプションを有効にする場合は GDK が必要です。 |
|
false |
XB1 ターゲット プラットフォームを含めます。 このオプションを有効にする場合は XB1 XDK が必要です。 |
|
false |
WinGDK ターゲット プラットフォームを含めます。 このオプションを有効にする場合は WinGDK が必要です。 |
|
false |
XSX ターゲット プラットフォームを含めます。 |
|
true |
エンジン コンテンツおよびテンプレート用のスタンドアローンの派生データ キャッシュを構築します。 エンジンおよびテンプレート コンテンツ用にスタンドアローンの 派生データ キャッシュ (DDC) を構築する処理により、構築が非常に遅くなる場合があります。スタンドアローンの DDC が不要な場合は、コマンドラインに |
|
true |
ホスト プラットフォームのみに DDC を含めるかどうかを指定します。 |
|
false |
プリコンパイル済みのクライアント ターゲットを含めます。 |
|
false |
プリコンパイル済みのサーバー ターゲットを含めます。 |
|
false |
バイナリ エディタとパッケージ化されたアプリケーション ビルドのための完全なデバッグ情報を生成します。 |
|
false |
ビルド プロセスの一部として、実行可能ファイルに署名するようにマシンをセットアップする必要がある場合、生成された実行可能ファイルに署名します。 |
|
該当なし |
送信する分析イベントの識別子。 |
|
false |
ソース インデックスを Windows のゲーム アプリに追加して、シンボル サーバーに追加できるようにするかどうかを指定します。 |
|
false |
コンパイル時に UAT の ParallelExecutor の使用を許可します。 |
|
Shipping;Development;DebugGame |
パッケージ化されたアプリケーションのコンフィグレーションを指定します。 |
追加のファイルを含める
RuntimeDependencies (各モジュールに対して build.cs
ファイルで設定) は自動的に照合を行い、Installed Build に含まれているファイルを判断します。ただし、このやり方では一部の必要なファイルを含めることができないため、こうしたファイルは [UERoot]/Engine/Build/InstalledEngineFilters.xml
で定義します。InstalledEngineFilters
XML ファイルにはビルドから除外する必要のあるファイルのパターンがリストされており、削除または署名する必要があるファイルのタイプを判断して、最終的に DDC を構築するためのプロジェクトを決定することができます。Installed Build に追加のファイルを含める必要がある場合は、InstalledEngineFilters
XML ファイルを活用することを推奨します。
Installed Build を登録する
UE には、「外部」プロジェクトと「非外部」プロジェクトという概念があります。外部プロジェクトはエンジンとは異なるディレクトリ ツリーに保存されているものを指し、非外部プロジェクトはエンジン ルートのサブディレクトリに保存され、UEGames.uprojectdirs
拡張によって参照されるものを指します。
.uproject
ファイル内の [EngineAssociation] フィールドでは、プロジェクトを開くエディタのバージョンを識別します。非外部プロジェクトでは、空白のままにします。非外部ということは、プロジェクトのそのディレクトリ階層より上の (既知の) 相対的な位置にエディタが存在することを意味するからです。Launcher によってインストールされたエンジン ビルドを使用する外部プロジェクトについては、このフィールドには「5.3」など公式のバージョン番号が含まれており、Launcher はインストールされているアプリケーションのリストに基づいて、適切なエディタ バイナリ (インストールされていることが前提) を検索することができます。Launcher 以外の方法で配布されたエンジン ビルドを使用する外部プロジェクトでは、エンジン ビルドのランダムな一意の識別子を使用して、グローバルにアクセス可能なデータ リポジトリ (具体的には、Windows ではレジストリ、Mac ではライブラリ フォルダのファイル) 経由で、インストール ディレクトリを見つけることができます。インストールされたエディタ ビルドとの関連付けが見つからない場合、ユーザーはバージョンを選択するように求められ、.uproject
ファイルが選択されたバージョンで更新されます。
Installed Build をチームに配布する際は、メンバー全員がそのビルドの識別子を把握していることを確認してください。これにより、エディタによってバージョンを選択するよう求められることを回避し、.uproject
ファイルがローカルで生成された一意の識別子で更新されてしまうことを防ぐことができます。カスタム識別子は次の方法で設定することができます。
Windows では、
HKEY_CURRENT_USER\SOFTWARE\Epic Games\UnrealEngine\Builds
にレジストリ キーを追加して、識別子をキーとして、エンジンへのパスを値として使用します。たとえば、キーはMyCustom419
で、値はD:\CustomUE
になります。Mac では、
/Users/MyName/Library/Application Support/Epic/UnrealEngine/Install.ini
を開いて、[Installations]
セクションにエントリを追加して、識別子をキーとして、エンジンへのパスを値として使用します。次に例を示します。[Installations] MyCustom419 = /Users/MyName/CustomUE
このデプロイメント方法を選択する
エンジンを変更する必要がほぼなく、さまざまなハードウェア プロファイルやオペレーティング システム用のビルド ソリューションをすばやく (かつ効率的に) 提供する方法を求めている場合は、UE の Installed Build をデプロイすることができます (または Epic Games Launcher からエンジンをダウンロードできます)。
なお、(「C:\Program Files」にインストール可能な) UE の読み取り専用配信が必要ない場合、この方法は適していません。これは、主にスタンドアローンで読み取り専用のエンジン コンテンツ、ソース コード、およびサードパーティ ライブラリを作成するために設計されているためです。Epic Games Launcher では、Installed Engine Builds を提供していますが、Epic Games 内のゲーム チームではこの方法を使用していません。さらに、Epic Games ではこれ自体をスタンドアローンのデプロイメント製品として扱っています。