ビルドの作成
Addressables パッケージを使用すると、アプリケーションプレイヤーとは別のステップとしてコンテンツ (AssetBundle) をビルドできます。Addressables パッケージには、この目的のための独自のビルドスクリプトが用意されており、[Groups ウィンドウ] のツールバーからアクセスできます。
プロジェクトのビルド時には、2 つのオプションがあります。つまり、Addressables コンテンツをプレイヤービルドの一部としてビルドするか、または別のステップとしてビルドできます。
フルビルドの作成
コンテンツアーティファクトをビルドするには、以下を実行します。
- Group 設定の値を設定します。
- コンテンツをリモート配布する場合は、プロファイルと Addressables システム設定の値を設定して、コンテンツのリモート配布を有効にします。
- 適切なプロファイルを選択します。
- [Groups ウィンドウ] からビルドを開始します。
Tip
開発中にビルドまたはランタイムロードの問題が発生した場合は、コンテンツを再ビルドする前に、Build メニューから Clean > All コマンドを実行することを検討してください。
ビルドパスとロードパスの設定
[プロファイル] では、ビルドパスとロードパスが、ローカルコンテンツとリモートコンテンツで別々の変数に定義されます。複数のプロファイルを作成すると、さまざまなビルドの種類に応じて異なるパスを使用できます。例えば、エディターでプロジェクトを開発するときに使用するプロファイルや、最終コンテンツビルドの公開時に使用するプロファイルをそれぞれ作成できます。
ほとんどのプロジェクトの場合、複数のプロファイルが必要になるのは、コンテンツのリモート配布をサポートする場合だけです。通常は、開発プロセスのさまざまなステージでローカルパスを変更する必要はありません。ほとんどのプロジェクトでは、ローカルコンテンツはデフォルトのローカルビルドパスにビルドされ、デフォルトのローカルロードパス (StreamingAssets フォルダーに解決) からロードされます。
Warning
Windows では、ファイルパスが 260 文字以下に制限されています。 コンテンツのビルドパスが、Windows の制限以上の長さのパスとして作成されると、ビルドは失敗します。
プロジェクトのあるディレクトリのパスの長さがこの制限文字数に近い場合も、同じ問題が発生する可能性があります。 ビルド中には、Scriptable Build Pipeline によって一時ディレクトリに AssetBundle が作成されます。 この一時パスはプロジェクトのサブディレクトリであり、Windows の制限を超える string
が生成される結果となる場合があります。
Windows で Addressables コンテンツビルドが Could not find a part of the path
(パスの一部が見つかりませんでした) エラーにより失敗する場合は、これが原因であると考えられます。
デフォルトのローカルパス
デフォルトのローカルビルドパスは、Addressables.BuildPath によって指定されるパスで、Unity プロジェクトの Library フォルダー内にあります。Addressables は、現在のプラットフォームビルドターゲット設定に基づいてローカルビルドパスにフォルダー名を付加します。複数のプラットフォーム用にビルドすると、各プラットフォーム用のアーティファクトが別々のフォルダーに配置されます。
同様に、デフォルトのローカルロードパスは、Addressables.RuntimePath によって指定されるパスで、StreamingAssets フォルダーに解決されます。この場合も、プラットフォームビルドターゲット名がパスに付加されます。
ローカルバンドルをデフォルトビルドパスにビルドすると、プレイヤーのビルド時に、ビルドコードによってアーティファクトがビルドパスから StreamingAssets フォルダーに一時的にコピーされます (これらはビルド後に削除されます)。
Warning
カスタムローカルパスを使用してビルドまたはロードする場合は、開発者の責任で、プレイヤービルドの作成前にはビルドアーティファクトをプロジェクト内の適切な場所にコピーし、ランタイムにはアプリケーションがこれらのアーティファクトにアクセスできるようにする必要があります。
デフォルトのリモートパス
Addressables では、任意で選択されるフォルダー名、"ServerData" にデフォルトのリモートビルドパスが設定されます。このフォルダーは、プロジェクトフォルダーの下に作成されます。ビルドでは、このパスに現在のプラットフォームターゲットがサブフォルダーとして追加され、各プラットフォーム用の固有のアーティファクトが分離されます。
デフォルトのリモートロードパスは、"http://localhost/" に現在のプロファイルの BuildTarget 変数が付加されたパスになります。このパスは、Addressable アセットをロードする予定のベース URL に変更する必要があります。
実行している開発、テスト、公開のタイプに合わせてて適切にリモートロードパスを設定するには、異なるプロファイルを使用します。例えば、一般的な開発ビルドのために localhost サーバーからアセットをロードするプロファイル、QA ビルドのためにステージング環境からアセットをロードするプロファイル、リリースビルドのために Content Delivery Network (CDN) からアセットをロードするプロファイルを使用できます。ホスティングの設定の詳細については、[ホスティング] を参照してください。
Note
エディターでのゲームの実行時には、Use Asset Database 再生モードスクリプトを使用して、リモートロードパスまたはローカルロードパスを介したアセットのロードバイパスできます。これは特に、localhost サーバーを設定していない場合に便利です。ただし、グループ設定やアセット割り当ての誤りに気付きにくくなる可能性があります。
リモートコンテンツビルドの設定
リモートコンテンツビルドを設定するには、以下を実行します。
- AdressablesSystemSetting アセット (メニュー: Window > Asset Management > Addressables > Settings) に移動します。
- Catalog の下にある Build Remote Catalog オプションを有効にします。 カタログの BuildPath および LoadPath 設定は、リモートグループに使用する設定と同じである必要があります。ほとんどの場合は、RemoteBuildPath および RemoteLoadPath プロファイル変数を使用してください。
- リモートコンテンツとしてビルドするグループごとに、BuildPath および LoadPath を、RemoteBuildPath および RemoteLoadPath プロファイル変数 (または必要に応じてカスタム値) に設定します。
- [Profiles ウィンドウ] (メニュー: Window > Asset Management > Addressables > Profiles) を開きます。
- RemoteLoadPath 変数を、リモートコンテンツをホスティングする予定の URL に設定します。 ビルドタイプに応じて異なる URL が必要な場合は、ビルドタイプごとに新しいプロファイルを作成します。詳細については、[プロファイル] および [ホスティング] を参照してください。
詳細については、[リモートコンテンツの配布] を参照してください。
ビルドの実行
グループと Addressables システムの設定が完了したら、コンテンツビルドを実行できます。
- [Groups ウィンドウ] (メニュー: Windows > Asset Management > Addressables > Groups) を開きます。
- ツールバーの Profile メニューから、使用するプロファイルを選択します。
- Build > New Build メニューから Default Build Script を選択します (独自のビルドスクリプトを作成した場合は、それらもこのメニューから選択できます)。
Default Build Script によって、グループごとに 1 つ以上の AssetBundle が作成され、リモートまたはローカルのビルドパスに保存されます。
更新ビルドの作成
コンテンツをリモート配布するときは、以前に公開したビルドの差分更新を実行すると、ユーザーがダウンロードする必要のあるデータの量を (フルビルドと比較して) 最小限に抑えることができます。
リモートグループを適切に設定した後、以前のビルドにリモートコンテンツが含まれている場合は、以下を実行して、コンテンツ更新ビルドを実行できます。
- [Groups ウィンドウ] (メニュー: Windows > Asset Management > Addressables > Groups) を開きます。
- ツールバーの Profile メニューから、使用するプロファイルを選択します。
Build メニューから Update a Previous Build を選択します。 ファイルピッカーダイアログが開きます。
更新対象のビルドで作成された
addressables_content_state.bin
ファイルを見つけます (デフォルトの場所はAssets/AddressableAssetsData/TargetPlatform
フォルダー内です)。- Open をクリックして更新ビルドを開始します。
既存のクライアントを更新するには、更新したリモートコンテンツを (適切にテストした後に) ホスティングサービスにコピーします (更新ビルドには、ローカルおよびリモートコンテンツのすべてが含まれます。コンテンツ更新ビルド後に作成したあらゆるプレイヤービルドには、Addressable アセットの完全なセットが含まれます)。
以前のビルドを更新しても、addressables_content_state.bin
ファイルは変更されません。将来の更新ビルドには、(New Build メニューから作成した別のフルビルドを公開するまでは) 同じバージョンを使用してください。
コンテンツ更新ビルドを使用する方法とタイミングの詳細については、[コンテンツ更新ビルド] を参照してください。