Installed Build を使用する

このページでは、Installed Build スクリプトの書き方など、Installed Build プロセスについて説明します。

参照

デベロッパーは多様なハードウェア プロファイルとオペレーション システム向けにビルド ソリューションを効率的に提供する方法を常に求めています。Installed Build は十分な機能を備えた Unreal Engine (UE) のビルドであり、チームでエンジンをすぐに使えるように再配布することができます。技術的な観点でいえば、Installed Build には UE のプリコンパイルされたバイナリと、開発およびシッピング コンフィギュレーションに含まれる各ターゲット プラットフォームの静的ライブラリが含まれています。

Installed Build プロセスでは、UE の Installed Build バージョンを作成するために必要なパッケージとツールの構築が自動化されます。つまり、Installed Build の作成とは、デフォルトのターゲット プラットフォームの設定、UE とそのツールおよびエディタのコンパイル、テストの実行、ターゲット プラットフォームへの Installed Build バージョンの UE のデプロイを行うプロセスです。

独自のビルドの他に、ランチャーから UE をダウンロードする必要があります。詳細は「Unreal Engine のソースコードをダウンロードする」を参照してください。

Installed Build を作成する

Installed Build は、BuildGraph スクリプトシステムを使用して、ダウンロードしたソースコードと同じフォルダにある [UERoot]/Engine/Build/InstalledBuild.xml の Installed Build スクリプトで作成することができます。

Installed Build を作成する手順

  1. システムで コマンド プロンプト を開きます。

  2. コマンドラインを入力して、AutomationTool を呼び出して Installed Build Script を実行します。このコマンドラインは次のようになります。

    C:\EpicSource\UE_5.0\UnrealEngine-5.0\Engine\Build\BatchFiles\RunUAT.bat BuildGraph -target="Make Installed Build [PLATFORM]" -script="Engine/Build/InstalledEngineBuild.xml" -clean

    このコマンドラインのそれぞれの部分を解説します。

    • C:\EpicSource\UE_5.0\UnrealEngine-5.0\ - ダウンロードしたソースコードの場所 (PC によって異なる可能性があります)。

    • Engine\Build\BatchFiles\RunUAT.bat - ビルドのコマンドに使用する、Unreal Automation Tool のコマンド ファイルの場所です。

    • -target="Make Installed Build [PLATFORM]" - エンジンをビルドするターゲット プラットフォーム ([PLATFORM]Win64 または Mac のいずれかに置き換えてください)。

    • -script=Engine/Build/InstalledEngineBuild.xml - インストレーション プロセスのオプションを含むファイルの場所です。

    • さらに Installed Build スクリプトのオプション を調節することができます。

    他の Installed Build スクリプトのオプション を使用する場合、コードは以下のようになります (調節する設定によります)。

        C:\EpicSource\UE_5.0\UnrealEngine-5.0\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
  3. デフォルトでは、インストールされたビルドは、Unreal Engine ディレクトリの「LocalBuilds/Engine/」フォルダに配置されているはずです。公開先としてその他のディレクトリを指定した場合は、そのディレクトリに移動します。

以下の Installed Build スクリプトのオプションを使用して、ビルドを設定します。

Installed Build スクリプトのオプション

InstalledEngineBuild.xml スクリプトで Installed Build のすべてのデフォルトのオプションおよびプラットフォームを有効にできますが、一連の特定のオプションを使用して、含めるプラットフォームやビルドの公開先などを設定することもできます。-listonly オプションをスクリプトに渡すことで、ビルド プロセスのカスタマイズに使用できるオプションのリストを構築されるノードのリストと共に表示できます。

以下は利用可能なオプションです。

オプション

デフォルト

説明

-set:HostPlatformOnly=[true/false]

false

Installed Build をお使いのホスト プラットフォーム向けのみに設定するヘルパー オプションです。これにより、その他のプラットフォームを個別に無効にする必要がなくなります。

-set:WithWin64=[true/false]

true

Win64 ターゲット プラットフォームを含めます。

-set:WithWin32=[true/false]

true

Win32 ターゲット プラットフォームを含みます。

-set:WithMac=[true/false]

true

Mac ターゲット プラットフォームを含みます。

-set:WithAndroid=[true/false]

true

Android ターゲット プラットフォームを含みます。

-set:WithIOS=[true/false]

true

iOS ターゲット プラットフォームを含めます。

このオプションを有効にする場合は、リモート ビルド用に Mac を設定する必要があります。

-set:WithTVOS=[true/false]

true

tvOS ターゲット プラットフォームを含めます。

このオプションを有効にする場合は、リモート ビルド用に Mac を設定する必要があります。

-set:WithLinux=[true/false]

true

Linux ターゲット プラットフォームを含みます。

-set:WithLumin=[true/false]

true

Linux ターゲット プラットフォームを含みます。

-set:WithHTML5=[true/false]

true

HTML5 ターゲット プラットフォームを含みます。

-set:WithPS4=[true/false]

false

PS4 ターゲット プラットフォームを含めます。

このオプションを有効にする場合は PS4 SDK が必要です。

-set:WithXboxOne=[true/false]

false

XBoxOne ターゲット プラットフォームを含めます。

このオプションを有効にする場合は Xbox One SDK が必要です。

-set:WithDDC=[true/false]

true

エンジン コンテンツおよびテンプレート用のスタンドアロンの派生データ キャッシュを構築します。

エンジンおよびテンプレート コンテンツ用にスタンドアロンの 派生データ キャッシュ (DDC) を構築する処理により、構築が非常に遅くなる場合があります。スタンドアロンの DDC が不要な場合は、コマンドラインに -set:WithDDC=false を追加することでこのステップをスキップすることができます。

-set:WithFullDebugInfo=[true/false]

false

バイナリ エディタとパッケージ化されたアプリケーションのビルドに対してフル デバッグ情報を生成します。

-set:SignExecutables=[true/false]

false

ビルド プロセスの一部として実行ファイルに署名するようにマシンをセットアップしなければならない場合は、署名します。

-set:AnalyticsTypeOverride=[ID]

N/A

送信する分析イベントの識別子です。

-set:GameConfigurations=[Configurations]

Development;Shipping

パッケージ化されたアプリケーションのコンフィギュレーションを指定します。

追加のファイルを含める

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.0」など公式のバージョン番号が含まれており、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 をデプロイしても良いでしょう (または当社の Launcher からエンジンをダウンロードできます)。

ただし、(C:\Program Files にインストール可能な) 読み取り専用の UE の配布を求めているのでなければこの方法は推奨できません。主な理由として、これはスタンドアロンの読み取り専用のエンジン コンテンツ、ソース コードおよびサードパーティ ライブラリを作成するようデザインされているためです。当社では Epic Games Launcher を通じて Installed Engine Build を提供してはいますが、当社の内部ゲーム チームではこの方法は採用していません。さらに、当社ではこれ自体をスタンドアロンのデプロイメント製品として扱っています。

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