Language:
Page Info
Skill Level:
The translation of this page is out of date. Please see the English version for the latest version of the page.

パッチ処理

プロジェクト ランチャーで利用できるパッチ処理によって、リリース後にプロジェクトを更新することができます。パッチ処理では、エンジンがクック済みのすべてのコンテンツを、リリースされた元のクック済みコンテンツと比較し、 それを使ってパッチにインクルードすべきファイルを決定します。コンテンツの最小の構成要素はパッケージ (.ulevel や .uasset) なので パッケージが変更されると、パッケージ全体がパッチにインクルードされます。パッチの.pak ファイルをユーザー用に取得する方法はプラットフォームによって異なりますが、 以下の手順で、更新済みコンテンツだけを入れることで .pak ファイルを小さく作成することができます。

現時点では、パッチの配布はすべてのプラットフォームに対応しているわけではありません。ここでは、パッチ パッケージ ファイルの作成、および作成ファイルを Windows でテストする手順を 紹介します。

バージョンが付いているリリースを使って、既にリリースされたプロジェクトをパッチ処理することができます。以下の点に留意してください。

  • リリース時にシリアル コード パスをロックする。

  • UnrealPak ツールはこれを使ってパッチ パッケージ ファイルに入れるべきコンテンツを決定するので、リリース済みのクック コンテンツを維持する。

  • ランタイム時、中のコンテンツが最初にロードされるように、パッチ ファイルを優先させて両方の pak ファイルを搭載する。

パッチを作成する

この例では、武器の容量とマガジンサイズを変更した ShooterGame に対してパッチ処理を行います。

PatchExample.png

リリース バージョンを作成したら、以下の手順を行います。

  1. アンリアル エディタもしくは Unreal Frontend(Engine/Deployment/UnrealFrontend) のいずれかを使って [Project Launcher (プロジェクト ランチャー)] を開きます。

    1.png

  2. + ボタンを押して、Custom Launch Profile (カスタム仕様の起動プロファイル) を作成します。

    2.png

  3. 編集するには、プロファイルの名前と説明をダブルクリックします。

    RenamePatch.png

パッチ処理には様々な設定内容があります。以下のステップはカテゴリ別に設定を分けて、[Advanced Settings (詳細設定)] ドロップダウン メニューをクリックするか、 利用できるオプションを変更するトップのドロップダウン (Cook:By the Book など) を設定するかと、必要なすべての設定にアクセスすることができます。

PatchSettings.png

Project (プロジェクト)

  1. 現在のプロジェクトをパッチするプロジェクトを指定することもできますし、任意のプロジェクト を使うこともできます。

Build (ビルド)

  1. シッピング用のビルド コンフィギュレーションを設定します。

  2. パッチ処理の一部として UAT をビルドする必要がある場合は、ビルド マシン上にパッチを作成するので、[Advanced Settings (詳細設定)] を展開します。

クック

  1. ドロップダウン メニューから [By the Book (バイザブック)] をクック方法として選択します。

  2. コンテンツをクックしたいすべてのプラットフォームのボックスにチェックを入れます。Windows 用のテストの例なので、ここでは [WindowsNoEditor] を選びました。

  3. ローカリゼーションをクックしたいすべてのカルチャーのボックスにチェックを入れます。

  4. クック対象のすべてのマップのボックスにチェックを入れます。

    この設定により、クック対象のコンテンツが決定され、オリジナルのパッケージ ファイルと比較されます。

  5. Release/DLC/Patching Settings では:

    • 元となるパッチのバージョン番号を入力します。

    • [Generate Patch (パッチを生成)] チェックボックスにチェックを入れます。

  6. [Advanced Settings (詳細設定)] を展開し、指定したプロジェクトの配布方法に必要な設定と合わせて、以下の設定が有効になっていることを確認してください。以下の推奨オプションはパッチサイズを小さくするので、最適なデフォルトです。

    • Compress content (コンテンツの圧縮)

    • Save packages without versions (バージョンなしでパッケージを保存)

    • Store all content in a single file (UnrealPak) (すべてのコンテンツを単一ファイル (UnrealPak) に格納します)

  7. さらに [Advanced Settings (詳細設定)] でクッカー コンフィギュレーションを [Shipping (シッピング)] に設定します。

Package (パッケージ)

  1. ビルドを [Package & store locally] に設定します。

Deploy (デプロイ)

  1. ビルドを [Do Not Deploy (展開しない)] に設定します。

  2. 上部右端の [Back (戻る)] ボタンでプロファイルのメイン ウィンドウへ戻ります。

    9.png

  3. [Patching] プロファイルの隣にある起動アイコンをクリックします。

    10.png

    プロジェクト ランチャーが、ビルド、クック、パッケージ処理を行います。処理時間は、プロジェクトの複雑さによって異なります。

    11.png

  4. 処理が完了したら、ウィンドウを閉じるか、[Done (終了)] をクリックします。

    12.png

Windows 上でパッチをテストする:

  1. Pak ファイルを ShooterGame\Releases\1.0\WindowsNoEditor から ShooterGame\Saved\StagedBuilds\WindowsNoEditor\ShooterGame\Content\Paks へコピーします。

  2. ShooterGame\Saved\StagedBuilds\WindowsNoEditor から ShooterGame.exe を起動します。

パッチをインストールする

パッチ処理により [プロジェクト名]\Saved\StagedBuilds[プラットフォーム名][プロジェクト名]\Content\Paks 内に pak ファイルが作成されます。この pak ファイルがユーザーに配布されるパッチです。 例えば、Windows を使っている場合は、インストーラを作成して、 この pak ファイルをユーザーの元のコンテンツ pak ファイルの隣にある [プロジェクト名]\Releases[バージョン番号][プラットフォーム名] フォルダへコピーします。

パッチ pak ファイルは、FPakPlatformFile::GetPakFolders に設定されているすべての pak 検索ディレクトリのデバイス上で自動的に組み込まれます。 パッチに優先順位を付けるために、組み込むシステムはファイル名の最後に _p をつけて、そのファイルが他の pak ファイルに優先することを定義します。名前変更をする場合は、 ファイル名の最後を _p.pak にする必要があります。

同じリリース バージョンから完全なパッチ ファイルを 2 つビルドする場合、2 つ目のパッチのインストール中に 1 つ目のパッチを除去しなければなりません。