ここに記載するデプロイメント方法でほとんどの状況に対応できると考えられますが、実際にはチームのワークフロー、ハードウェアの性能と台数、さらには本ガイドラインの対象からは外れた外部的な要因などに応じてデプロイメント方法を決定してください。
どのプロジェクトでも、始めにゲームに寄与するデベロッパーや制作スタッフに対してどのように Unreal Engine 4 (UE4) をデプロイするかを決定する必要があります。Unreal Engine をデプロイするには、Installed Build を使用する、バイナリを Perforce にサブミットする、UnrealGameSync (UGS) を使用する** 方法があります。
それぞれの方法の長所と短所を次のセクションで説明します。
Installed Build の使用
長所
-
プリコンパイルされた形式でエンジンが配布されるため、迅速なコンパイルが可能になる。
-
Epic Games Launcher からダウンロード可能な既成のバイナリを使用することで容易に開始できる。
-
パッチングおよびアップグレードを容易に実行できる。
短所
-
エンジンを変更した場合に、常にカスタム ビルドをチームに配布する必要がある。
-
カスタム ライセンス契約の適用対象となるコンソール プラットフォームは Epic Launcher からダウンロードできない。
-
ランチャーを使用せずに独自のエンジンを配布する場合に、どのように配布してインストールするかをユーザー自身が考え出す必要がある。
-
すべてのビルド オプションが利用可能なわけではない (Installed Build では、完全なデバッグ コンフィギュレーション、クライアント/サーバー/プラグラムのターゲット、プロジェクトで有用であると考えられるその他のエンジン カスタマイズ機能をサポートしません)。
-
デフォルトでは、ターゲット プラットフォームに対して限定されたデバッグ情報しか提供されない。
このデプロイメント方法の使用に関する詳細については、「Installed Build を使用する」を参照してください。
バイナリを Perforce にサブミットする
長所
-
コンテンツとエディタの同期を 1 つのツール (Perforce) で行うことができる。
-
ビルドをコンテンツ クリエーターに渡す前に QA 部門で検査できる。
短所
-
Perforce トラフィックが増加することにより、バイナリの変更時に同期に時間がかかる (バイナリを必要としないデベロッパーに対しても同期が遅くなる)。
-
デベロッパー側で、ローカルで構築されたバイナリと Perforce から同期したバイナリの間に不一致が生じることで、エラーが起こりやすくなる。
-
プログラマーおよびコンテンツ制作者による変更に対して QA 作業を行うことで、イテレーション時間に多大な悪影響を及ぼす可能性がある。
詳細については、「バイナリを Perforce にサブミットする」を参照してください。
UnrealGameSync (UGS)
長所
-
コンテンツ クリエーターとプログラマーの間で迅速なイテレーションが可能になる。
-
アーティストは、開発ストリームを乱すことなく、別のブランチに保存されている zip ファイルからプリコンパイル済みのバイナリを同期できる。
-
プログラマーはソース コードを同期するだけでローカル バージョンのデータを自動的にアップデートできるため、プログラマーによる変更を含むコンテンツが適切にバージョン管理される。
-
小規模のチームに所属するアーティストが、プログラマーと同じワークフローを使用するのにVisual Studio を使用する必要がない。
-
多数の便利なコラボレーション機能およびユーティリティを利用できる。これには、ビルド システムの状態およびアラートの提供、サブミットする変更へのコメント付け、ローカル夜間ビルドのスケジューリング、ビルド プロセスのカスタマイズ、Perforce ストリームの選択的な同期など、多数の機能が含まれる。
-
Epic で幅広く使用されているため、アップデートや改善を頻繁に受け取ることができる。
短所
-
すべての機能を正しく動作させるためにインフラの設定が必要になる (ビルド メタデータのためのデータベースや、プリコンパイルされたバイナリのためのビルド システム統合など)。
-
デベロッパーによってサブミットされる変更は QA で検証されないため、エラーを含む変更によってデータが破損する危険性がある (ただし、実際に Epic ではこれが問題になったことはない)。
-
サポートされるのは Windows のみである。
UGS の詳細については、「概要」を参照してください。
テクニカル ホワイトペーパー
「[『フォートナイト』のワークフロー: UnrealGameSync による大規模チームのコラボレーション(https://www.unrealengine.com/ja/blog/workflow-on-fortnite-collaboration-on-large-teams-with-unrealgamesync)」では Fortnite など Epic Games のゲームの開発中に克服した課題および Unreal Editor をチームに普及するために学んだ教訓について話し合っています。ぜひ参照してください。
Epic の開発ストリームから同期する
プロジェクトで Epic の最新のコードが必要な場合は、当社のストリームからコードを直接同期していただくことができます。
ストリームからの同期の詳細については、「Unreal Engine で Perforce を使用する」を参照してください。