docs.unity3d.com
    目次を表示する/隠す

    ビルドアーティファクト

    [コンテンツビルド] では、ファイルが複数の場所に作成されます。ビルドされたプレイヤーにすべてのファイルが含まれるわけではありません。一般的に、ビルドされたプレイヤーには、ローカルコンテンツに関連付けられたファイルが加えられ、リモートコンテンツに関連付けられたファイルは除外されます。

    ローカルコンテンツに関連付けられたファイルのほとんどは Library/com.unity.addressables フォルダーにあります。これは Library フォルダーの特殊なサブフォルダーで、Addressables ファイルを格納するために使用されます。Library フォルダーの詳細については、[アセットのインポート] を参照してください。

    プレイヤーに含まれるアーティファクト

    プレイヤービルド時には、Addressables システムによって、以下のファイルが Library/com.unity.addressables/aa/<AddressablesPlatform> フォルダーから StreamingAssets フォルダーにコピーされます。

    • ローカル AssetBundle (.bundle): グループ、プロファイル、プラットフォームの設定に従います。デフォルトでは、これらのファイルは BuildTarget サブフォルダーにあります。グループによって生成されるバンドルファイルのビルド場所を変更するには、Build & Load Paths 設定を変更します。
    • settings.json: ランタイムに使用される Addressables 設定データが含まれます。
    • catalog.json: ランタイムにアセットを見つけてロードするために使用されるコンテンツカタログ (より新しいリモートカタログがない場合)。 カタログの詳細については、[コンテンツカタログ] を参照してください。
    • AddressablesLink/link.xml: アセットによって使用される型が Unity リンカーによってストリッピングされないようにします。コードストリッピングの詳細については、[マネージコードストリッピング] を参照してください。Unity バージョン 2021.2 以降では、このファイルが一時的に AddressableAssetSettings.ConfigFolder フォルダーか、または設定ファイルが存在しない場合は Assets/Addressables_Temp フォルダーにコピーされます。

    すべてのプラットフォーム名のリストについては、AddressablesPlatform を参照してください。

    プレイヤーに含まれないアーティファクト

    リモートコンテンツ

    リモートコンテンツに使用されるファイルは、ホスティングサーバーにアップロードする必要があります。デフォルトでは、これらのファイルは ServerData フォルダーにあります。

    これらのファイルは、以下のとおりです。

    • リモート AssetBundle (.bundle): グループ、プロファイル、プラットフォームの設定に従います。デフォルトでは、これらのファイルは BuildTarget サブフォルダーにあります。グループによって生成されるファイルのビルド場所を変更するには、Build & Load Paths 設定を変更します。
    • catalog_{タイムスタンプまたはプレイヤーバージョン}.json: ダウンロードされるとローカルカタログをオーバーライドするリモートカタログ。このファイルは、[コンテンツ更新の設定] で Build Remote Catalogs オプションを有効にしている場合にのみ作成されます。このファイルのビルド場所を変更するには、コンテンツ更新の設定で Build & Load Paths を変更します。デフォルトでは、ビルドのタイムスタンプがファイル名に含まれます。代わりにバージョン番号を使用するには、[カタログの設定] で Player Version Override の値を指定します。カタログの詳細については、[コンテンツカタログ] を参照してください。
    • catalog_{タイムスタンプまたはプレイヤーバージョン}.hash: クライアントアプリケーションが前回リモートカタログをダウンロードした後に、リモートカタログが変更されたかどうかを確認するために使用されるファイル。リモートカタログファイルと同様に、このファイルは、[コンテンツ更新の設定] の Build Remote Catalogs オプションを有効にしている場合にのみ作成されます。 このファイルのビルド場所を変更するには、コンテンツ更新の設定で Build & Load Paths を変更します。デフォルトでは、ビルドのタイムスタンプがファイル名に含まれます。代わりにバージョン番号を使用するには、[カタログの設定] で Player Version Override の値を指定します。カタログの詳細については、[コンテンツカタログ] を参照してください。

    コンテンツ状態ファイル

    addressables_content_state.bin ファイルは、[コンテンツ更新ビルド] の作成に使用されます。コンテンツの動的更新をサポートしている場合は、リリースする各フルコンテンツビルドの後に、このファイルを保存する必要があります。サポートしない場合は、このファイルを無視できます。

    デフォルトでは、このファイルは Assets/AddressableAssetsData/<AddressablesPlatform> にあります。すべてのプラットフォーム名については、AddressablesPlatform を参照してください。このファイルのビルド場所を変更するには、[コンテンツ更新の設定] で Content State Build Path の値を指定します。

    Note

    このファイルをバージョン管理にチェックインし、プレイヤービルドがリリースされるたびに新規ブランチを作成することをお勧めします。

    診断データ

    追加のファイルを作成して、コンテンツビルドに関するデータを収集することができます。

    これらのファイルは、以下のとおりです。

    • Library/com.unity.addressables/AddressablesBuildTEP.json: ビルドのパフォーマンスデータ。[ビルドプロファイリング] を参照してください。
    • Library/com.unity.addressables/buildlayoutreport: ビルドによって作成された AssetBundle に関する情報。[Build Layout レポート] を参照してください。

    コンテンツカタログ

    コンテンツカタログとは、システムから提供されたキーに基づいて、アセットの物理的な場所を調べるために Addressables で使用されるデータストアです。Addressables では、すべての Addressable アセットのカタログが 1 つビルドされます。カタログは、アプリケーションプレイヤーのビルド時に StreamingAssets フォルダーに配置されます。ローカルカタログはローカルアセットとリモートアセットにアクセス可能ですが、アプリケーションのフルビルド間にコンテンツを更新する場合は、リモートカタログを作成する必要があります。

    リモートカタログは、リモートコンテンツとともにホスティングするカタログの別のコピーです。 最終的に、Addressables ではこれらのカタログの一方だけが使用されます。ハッシュファイルには、カタログのハッシュ (数学的な指紋のようなもの) が含まれています。リモートカタログがビルドされ、そのハッシュがローカルカタログと異なる場合は、リモートカタログがダウンロードされ、キャッシュされ、ビルトインローカルカタログの代わりに使用されます。[コンテンツ更新ビルド] を作成すると、ハッシュが更新され、新しいリモートカタログは更新されたアセットの変更済みバージョンを指します。

    Note

    公開するフルプレイヤービルド用に、リモートカタログを有効にする必要があります。そうしないと、Addressables システムでリモートカタログが確認されず、コンテンツの更新を検出できなくなります。[リモートカタログの有効化] を参照してください。

    Addressables では、プロジェクトごとに 1 つのコンテンツカタログが作成されますが、他の Unity プロジェクトで作成されたカタログをロードして、それらのプロジェクトで作成された Addressable アセットをロードすることができます。これにより、分離したプロジェクトを使用して一部のアセットの開発とビルドを行うことができるため、大規模な制作でのイテレーションとチームの共同作業が容易になる可能性があります。カタログのロードの詳細については、[ランタイムでのカタログの管理] を参照してください。

    カタログの設定

    カタログには、さまざまな設定が使用されます。

    • [Catalog 設定]: ローカルカタログとリモートカタログの設定に使用されるオプション。
    • [Content Update 設定]: リモートカタログの設定のみに使用されるオプション。

    カタログサイズを最小にするには、以下の設定を使用します。

    1. ローカルカタログの圧縮。ビルド内のカタログのサイズが重要な問題である場合は、[Catalog 設定] の Compress Local Catalog というオプションを使用できます。このオプションでは、AssetBundle に組み込まれてゲームとともに出荷されるカタログがビルドされます。カタログを圧縮すると、そのファイル自体のサイズは小さくなりますが、カタログのロード時間が長くなることに注意してください。
    2. ビルトインシーンとリソースの無効化。 Addressables には、リソースおよびビルトインシーンリストからコンテンツをロードする機能があります。この機能はデフォルトでオンになっているため、これが不要な場合に、カタログのサイズが不必要に増大する可能性があります。 この機能を無効にするには、Groups ウィンドウ (Window > Asset Management > Addressables > Groups) で "Built In Data" グループを選択します。このグループの設定で、"Include Resources Folders" と "Include Build Settings Scenes" をオフにすることができます。これらのオプションをオフにすると、これらのアセットタイプへの参照のみが Addressables カタログから削除されます。 コンテンツ自体は、作成するプレイヤーに組み込まれ、引き続き従来の API を介してロードできます。
    3. Internal Asset Naming Mode など、カタログサイズの削減に役立つグループ設定がいくつかあります。詳細については、[詳細なグループ設定] を参照してください。

    共有 AssetBundle

    AddressableAssetGroups から作成されるバンドルの他に、ビルドでは、"共有 AssetBundle" という特殊なバンドルが作成されることがあります。これには、unitybuiltinshaders AssetBundle と MonoScript AssetBundle があります。

    前者は、ビルドに含まれるアセットによってビルトインシェーダーが使用される場合に生成されます。Unity エディターのビルトインシェーダー (スタンダードシェーダーなど) を参照するすべての Addressable アセットは、この特殊なシェーダー AssetBundle を参照することによって、それを行います。ビルトインシェーダーバンドルの命名方法は、[Addressables の BUild 設定] の Shader Bundle Naming Prefix オプションを使用して変更することができます。

    後者は、[Addressables Build 設定] の MonoScript Bundle Naming Prefix オプションを変更することで、オンとオフを切り替えることができます。ここには MonoScript バンドルの命名オプションのリストがあり、通常、複数プロジェクトの状況で使用されます。これを使用して、MonoScript の動作が AssetBundle にビルドされ、依存関係として参照されます。

    共有 AssetBundle のビルドオプションは、デフォルトの AddressableAssetGroup から派生しています。デフォルトでは、このグループは Default Local Group (Default) と名付けられ、ローカルのビルドパスとロードパスを使用します。この場合、共有バンドルは、コンテンツ更新の一部としては更新できず、新しいプレイヤービルドでのみ変更できます。このバンドルはコンテンツビルド中にのみ生成されるため、Check for Content Update Restrictions ツールでは、バンドルへの変更が検出されません。したがって、将来、共有バンドルのコンテンツを変更する予定がある場合は、リモートのビルドパスとロードパスを使用するようにデフォルトグループを設定し、その Update Restriction を Can Change Post Release に設定します。

    トップに戻る
    Copyright © 2023 Unity Technologies — 商標と利用規約
    • 法律関連
    • プライバシーポリシー
    • クッキー
    • 私の個人情報を販売または共有しない
    • Your Privacy Choices (Cookie Settings)