ビルド作業:クック、パッケージ、デプロイ、実行

Unreal Engine 4 で実施可能なビルド作業 (クック、パッケージ、デプロイ) の概要です。

Windows
MacOS
Linux

Unreal Engine 4 (UE4) プロジェクトの操作のための一連のユーティリティ スクリプトを機能させるために、Automation Tool (略してUnreal Automation Tool を略して UAT と呼ばれる場合もあります) をパッケージ化の一環として使用します。Automation Tool は、BuildCookRun という特別なコマンドを使用してパッケージ化を行います。このコマンドは、プラットフォーム用にコンテンツをクックし、配布用にプラットフォームのネイティブ形式にパッケージ化して、デバイスにデプロイし、(必要な場合は) プロジェクトを自動的に実行します。プロジェクトのパッケージ化は UAT を直接使用を要求するだけではありません。ファイル メニューから使用可能なプラットフォームを選択したり、コマンドラインを使ってプラットフォーム用にコンテンツのクックおよびパッケージ化ができます。

UAT の BuildCookRun コマンドには、以下のようにさまざまなステージがパッケージ化パイプラインに存在します。

  • ビルド: 選択したプラットフォーム用に実行ファイルをコンパイルします。

  • クック: 特別モードでエディタを実行することでコンテンツをクックします。

  • ステージ: 実行ファイルとコンテンツを開発ディレクトリ外のスタンドアローン ディレクトリであるステージング エリアにコピーします。

  • パッケージ: プラットフォームのネイティブ配布形式にプロジェクトをパッケージ化します。

  • デプロイ: ターゲット デバイスにビルドをデプロイします。

  • 実行: ターゲット プラットフォームでパッケージ化したプロジェクトを開始します。

パッケージ化の方法

ターゲットのプラットフォームにさまざまな方法でコンテンツをデプロイしてテスト、デバッグ、製品リリースの準備をすることができます。パッケージのテストには以下の方法を使用することができます。

  • Launch ボタンを使う を使うと、現在ロード中のレベルの一部を使ってテスティングとデバッグを簡単にテストすることができます。

  • Project Launcher では、デフォルト プロファイルを使用、またはカスタム プロファイルを作成して、プロジェクトの最新ビルドに対するプロファイリングまたはデバッグを実行することができます。

  • 既にパッケージ済みのゲームをプラットフォーム (コンソール、モバイルなど) へデプロイすることもできます。

以下のセクションでは、これらのパッケージ化方法の詳細、およびゲームのパッケージ化での使い方について説明します。

ファイル メニュー

[File] メニューは、プロジェクトをパッケージ化するプラットフォームを選択することができます。このオプションを使ってプロジェクトをパッケージ化すると、パッケージ化されたプロジェクトが選択したフォルダに保存されますが、デバイスにはデプロイされません。

FilePackageMenu.png

[File] メニューの [Package Project] から以下のアクションを実行することができます。

  • 選択した プラットフォーム 用プロジェクトのビルド

  • [Build Configuration]、[Development][Shipping] の選択

  • [Project Settings] の [Packaging Settings] と [Support Platforms] へのアクセス

Launch ボタンを使う

メイン ツールバーの [Launch] ボタンを使うと、現在のレベルをテスト用にビルドおよびデプロイし、すぐにタイトルをテストすることができます。

LaunchToolbar.png

[Launch] ボタンの隣の矢印をクリックすると、ビルドのデプロイに必要なデバイスのリストがドロップダウンで表示されます。ここから選択することができます。

ToolbarLaunchButtonMenu.png

クリックすると、起動処理によって必要なコンテンツのクック、コードのビルド、選択したプラットフォームの起動を実行します。このビルド方法と使うと、何かをテストする必要がある場合に、プロジェクト全体のコンパイルや実行せずに、開発活動中の機能性を素早くテストすることができます。

プラットフォームの選択

デプロイしたプラットフォームが表示されない場合、またはメニューでグレーアウトされている場合は、次の点を確認してください。

  • そのプラットフォームに対して正しい SDK がインストールされていること (必要な場合)、そして現在使用している英語版に対応していること。これは、ほとんどの場合、Engine/Source/Programmings/UnrealBuiltTools/Platforms の中のプラットフォームの 「UEBuild.cs」 ファイルで確認することができます。たとえば、Android に対応している SDK を確認したい場合は 「UEBuildAndroid.cs」 ファイルを調べます。

  • Visual Studio 拡張機能または必要なファイルがインストールされていること。

  • (コンソールのように) デバイスの接続に外部のツールを必要とするプラットフォームの場合、外部のツールが適切に動作し、デバイスが確実に検知されること。

  • UE4 の デバイス マネージャー を使って必要なデバイスを要求することで、ローカル マシンのみに使用されるようになります。

プロジェクト ランチャー

Project Launcher を使うと、一ヶ所から様々なターゲット プラットフォームへのデプロイが可能になります。単一の起動プロファイルからも可能です。

デプロイ先となるプラットフォームにはそれぞれデフォルトのローンチ プロファイルが付いています (メイン ウィンドウに一覧表示されています)。カスタム ローンチ プロファイルの作成も可能です。いろいろな詳細設定を使った特殊な方法でタイトルをビルドすることができます。たとえば、コマンドライン引数の適用、DLC (ダウンローダブルなコンテンツ) やパッチ リリースのテストなどです。

ProjectLauncher.png

詳細については、Project Launcher を参照してください。

カスタム ローンチ プロファイル

プロジェクト ランチャーを使って、すべてのプラットフォームまたは特定のプラットフォームで使用できる カスタム ローンチ プロファイル (Custom Launch Profile) を作成することができます。ビルド作業で行うクック、パッケージ、デプロイ方法を設定して、特別な方法でコンテンツをビルドすることができます。

ウィンドウの右側の プラス (+) 記号をクリックすれば、独自のカスタム ローンチ プロファイルの追加も可能です。

AddCustomProfile.png

すると、カスタム ローンチ プロファイルがすぐに開きます。後から簡単に認識できるように 名前説明 を付けておきましょう。

CustomLaunchProfile.png

コマンドライン

Automation Tool を使用すると、コマンドラインを使ってゲームをクックおよびパッケージ化することができます。すべてのビルド操作は UAT で実行されるので、有効な引数を与えると、RunUAT.bat ファイルでコマンドラインを直接実行することができます。

RunUAT ファイルは Engine/Build/BatchFiles にあります。Windows の場合は RunUAT.bat ファイル、Mac/Linux の場合は RunUAT.sh を使用します。

UE4Editor.exe あるいは UE4Editor-cmd.exe のいずれかの後に以下のコマンドラインを続けると、基本的なクックを実行することができます。

UE4Editor.exe [GameName or .uproject] -run=cook -targetplatform=[Platform] -cookonthefly -iterate -map=[Map Name]

コマンドレットは `**-run=cook** で指定し、クックするプラットフォームも指定する必要があります。これで、指定したプラットフォーム用にデータがクックされ、以下の場所に保存されます。

[UE4 Project]/Saved/Sandboxes/Cooked-[Platform]

手書きのコードでコマンドライン引数を作成することは非常に複雑ですし、うっかりエラーを起こす確率も高くなります。そのような理由から、カスタム ローンチ プロファイル を使ってビルド用のコマンドラインを正確に生成することを推奨します。入力されたパラメータがコマンドラインで自動的に生成され、プロジェクトをクックおよびビルドに使用する時に [Output Log] ウィンドウに表示されます。BuildCookRun より前のテキストは RunUAT.bat を使ってコマンドライン引数として直接渡されます。

以下は、プロジェクト ランチャーによる出力と、RunUAT.bat の使用を手書きのコードで作成する必要がある同等のコマンドラインからの出力の例です:

  • Project Launcher のログ ウィンドウ

    Automation.ParseCommandLine:Parsing command line: -ScriptsForProject=MyProject.uproject BuildCookRun -project=MyProject.uproject -clientconfig=Development
  • 手書きのコードで作成

    [UE4Root]/Engine/Build/BatchFiles/RunUAT.bat BuildCookRun -project=MyProject.uproject -clientconfig=Development

詳細については コンテンツのクック を参照してください。

コンテンツのクック

Unreal Engine は、コンテンツをサポートされている特定のフォーマット (テクスチャ データ用 PNG またはオーディオ用 WAV など) で格納します。ただしこのコンテンツは、開発のターゲット プラットフォームで使用できるフォーマットではない場合があります。クック 処理とは、エンジンで使用していたアセットをデプロイ対象のプラットフォーム上で読み取ることができるようにする変換処理のことです。中には、クックされたコンテンツは、そのプラットフォームでのみ読み取り可能になる独自のフォーマットに変換される場合もあります。

さまざまなプラットフォームに合わせてコンテンツをクックするには、コマンドライン またはエディタ インターフェースを使って プロジェクト ランチャー 、インエディタ インターフェースで使って行うことができます。プラットフォームによっては、にすべてのコンテンツをクックしておかないと、デバイス上で使用した時に正しく動作しない場合もあります。このような場合には、開発対象にしているプラットフォームについて確認しておく必要があります。

プロジェクトは、by the bookon the fly の 2 通りの方法でクックすることができます。

ContentCooking.png

Cook by the book

Cook by the book によるクックは、すべて事前にクックしておくので、レベルをプレイしながら必要に応じてデプロイするのではなく、ビルドはクックされたアセットを一度にデプロイすることができます (クック サーバーを使用している場合)。個々のアセット上でイタレートをしない、または必要なクック済みのコンテンツがサーバーから配信されるのを待たずにフルスピードでゲームを実行したいデベロッパーに有用な方法です。通常、パフォーマンス テストとプレイテストで使われる方法です。

Cook by the book を実行する場合、ビルドに追加の設定は必要ありません。プロジェクト ランチャーを使って Custom Launch Profile を作成 し、[Cook] セクションのドロップダウン メニューで [by the book] を選択します。

CookByTheBookSettings.png

ゲーム固有のコマンドラインを追加するには、[Advanced Settings (詳細設定)] を展開して引数を [Additional Cooker] に追加します。

AdditionalCookerOptions.png

例えば、

-nomcp

Cook by the book の詳細、および使用可能な設定については、プロジェクト ランチャー を参照してください。

Cook On The Fly

CookOnTheFlySettings.png

On the fly (COTF) でコンテンツをクックする場合、ゲームがプラットフォームにデプロイされるまでクックが遅くなります。実行ファイルとその他の基本ファイルのみがインストールされ、それが Cook Server とのネットワーク通信を使ってコンテンツが必要な時にオンデマンドでのリクエストをします。COTF は、定期的にコンテンツを変更したり、ゲームのセクションを検証するだけのデベロッパーは、Cook on the fly を使うことでイタレーションを速く行うことができます。

このメソッドを使うには、まずプロジェクト全体が利用できるマシン上で Cook Server を起動する必要があります。クックはローカル マシン、あるいはリモート サーバーのいずれかで実行することができます。Cook Server は、以下の引数を UE4Editor-cmd.exe と一緒に使ってコマンドライン モードでエディタを起動すると動作します。

    UE4Editor-cmd.exe [FullAbsolutePathToProject.uproject]-run=cook -targetplatform=Windows -cookonthefly

デベロッパーのローカル マシンで、プロジェクト ランチャーと [Deploy] セクションで Custom Launch Profile にアクセスしてメソッドを [File Server] に設定します。または、Default Deploy Platform を使って単一のプラットフォームを選択したり、トグルを使って複数のプラットフォームのビルドやデプロイすることもできます。

Deploy_01.png

実行ファイルがコンテンツのロード元を知るためには、Cook Server を実行しているマシンの IP アドレスを知らせる必要があります。そのためには、以下のコマンドライン引数をクライアント コマンドライン上でパスする必要があります ( x.x.x.x はホストの IP)。

-filehostip=123.456.78.90

Custom Launch Profile の [Launch] セクションの中の [Additional Command Line Parameters] テキスト ボックスで指定できます。IP アドレスを指定しないと、ビルドはは既存のローカル ファイルからロードし、Cook Server へ接続しようとしません。

FileHostIP.png

Cook On The Fly の詳細、および使用可能な設定については、プロジェクト ランチャー を参照してください。

ビルドをデプロイする

Project Launcher からビルドをデプロイするには、プロジェクトのクックとパッケージ化を完了させておかなければなりません。このタイプのビルドをプラットフォームにデプロイする方法がいくつかあります。Custom Launch Profile[Deploy] セクションで、ビルドのデプロイ方法を設定します。

DeployBuildTypes.png

  • [File Server] は実行時にコンテンツのクックおよびデプロイを行います。

  • [Copy to Device] は、クック済みビルド全体をデバイスにコピーします。

  • [Do Not Deploy] は、クックとパッケージ化が完了すると、ビルドをデバイスには一切デプロイしません。

  • [Copy Repository] は、指定したファイル位置からどんなデバイスへもビルドをコピーします。

デプロイ方法の詳細、および使用可能な設定については、プロジェクト ランチャー を参照してください。

Select Skin
Light
Dark

新しい Unreal Engine 4 ドキュメントサイトへようこそ!

あなたの声を私たちに伝えるフィードバックシステムを含め、様々な新機能について開発をおこなっています。まだ広く使える状態にはなっていないので、準備ができるまでは、ドキュメントフィードバックフォーラムで、このページについて、もしくは遭遇した問題について教えていただけると助かります。

新しいシステムが稼働した際にお知らせします。

フィードバックを送信