Addressable アセット設定
Addressables システムのメインオプションには、Addressable Asset Settings Inspector (メニュー: Window > Asset Management > Addressables > Settings) でアクセスできます。
Addressables システムでは、設定アセットが AddressableSettingsData フォルダー (Project Assets フォルダーの下) に格納されます。このフォルダーがまだ存在していない場合は、Addressables システムを Groups ウィンドウ (メニュー: Window > Asset Management > Addressables > Groups) から初期化する必要があります。
Addressable Asset Settings Inspector
このインスペクターには、以下のセクションが含まれます。
- Profile
- Diagnostics
- Catalog
- Content Update
- Downloads
- Build
- Build and Play Mode Scripts
- Asset Group Templates
- Initialization Objects
Manage Groups ボタンをクリックすると、[Groups ウィンドウ] を開くことができます。
Profile (プロファイル)
プロファイルの設定
Profile in Use リストを使用して、アクティブなプロファイルを選択します。アクティブなプロファイルによって、Addressables ビルドスクリプトで使用される変数の値が決まります。
Manage Profiles ボタンをクリックして Profiles ウィンドウを開きます。ここで、プロファイルを新規作成し、プロファイル変数を変更することができます。
プロファイルの詳細については、[プロファイル] を参照してください。
Diagnostics (診断)
診断の設定
プロパティ | 機能 |
---|---|
Send Profiler Events (プロファイラーイベントの送信) | プロファイラーイベントを有効にします。Addressables Event Viewer ウィンドウを使用するには、この設定を有効にする必要があります。 |
Log Runtime Exceptions (ランタイム例外のログ作成) | アセットのロード操作で発生したランタイム例外をログに記録します (エラーは AsyncOperationHandle.OperationException プロパティにも記録されます)。 |
Tip
Addressable (アドレス指定可能) アセットは、デフォルトで警告とエラーだけをログに記録します。詳細なログを有効にするには、Player 設定ウィンドウ (メニュー: Edit > Project Settings... > Player) を開き、Other Settings > Configuration セクションに移動して、Scripting Define Symbols フィールドに "ADDRESSABLES_LOG_ALL
" を追加します。
Catalog (カタログ)
カタログの設定
Addressables カタログに関する設定です。カタログにより、アセットのアドレスが物理的な場所にマップされます。
プロパティ | 機能 |
---|---|
Player Version Override | リモートカタログ名の一部として使用されるタイムスタンプをオーバーライドします。これを設定した場合は、リモートカタログに付けられる名前が Catalog_<Player Version Override>.json となります。空白のままの場合はタイムスタンプが使用されます。新しいビルドごとに一意のリモートカタログ名を使用すると、コンテンツの複数のバージョンを同じベース URL でホスティングできます。すべてのビルドに同じオーバーライド文字列を使用すると、すべてのプレイヤーが新しいカタログをロードすることになります。プレイヤー更新ビルドでは、更新対象のビルドと同じリモートカタログ名が常に使用されることにも注意してください ([コンテンツ更新ビルド] を参照)。 |
Compress Local Catalog | 圧縮された AssetBundle ファイルとしてカタログをビルドします。 カタログのストレージサイズは小さくなりますが、カタログのビルドとロードにかかる時間は長くなります。 |
Optimize Catalog Size | 内部 ID のルックアップテーブルを作成して、カタログのサイズを小さくします。カタログのロードにかかる時間は長くなる場合があります。 |
Content Update (コンテンツ更新)
コンテンツ更新の設定
リモートコンテンツのビルドと更新を制御する設定です。
プロパティ | 機能 |
---|---|
Disable Catalogs Update on Startup | Addressables システムがラインタイムに初期化する場合に、更新されたリモートカタログの自動確認を無効にします。[更新されたカタログの確認] を手動で実行できます。 |
Content State Build Path | デフォルトビルドスクリプトによって作成されるコンテンツ状態ファイルをビルドする場所です。 |
Build Remote Catalog | リモートカタログをビルドできるようにします。 |
Build & Load Paths | リモートカタログのビルドとロードを行う場所です。リストから [プロファイル] のパスペアを選択するか、ビルドパスとロードパスを別にする場合は <custom> を選択します。Build Remote Catalog を有効にした場合にのみ表示されます。 |
Build Path | リモートカタログをビルドする場所です。通常は RemoteBuildPath [プロファイル] 変数を使用します。 Build & Load Paths を <custom> に設定した場合にのみ表示されます。 |
Load Path | リモートカタログにアクセスするための URL です。通常は RemoteLoadPath [プロファイル] 変数を使用します。 Build & Load Paths を <custom> に設定した場合にのみ表示されます。 |
Downloads (ダウンロード)
ダウンロードの設定
カタログと AssetBundle のダウンロード処理に影響する設定です。
プロパティ | 機能 |
---|---|
Custom certificate handler | カスタムの証明書の処理に使用するクラスです。リストには、UnityEngine.Networking.CertificateHandler を継承するプロジェクト内のすべてのクラスが表示されます。 |
Max Concurrent Web Requests | この制限を超えるリクエストはすべて、キューに入れられます。最適なダウンロード速度を維持するには、同時ダウンロード数を 2-4 件にすることをお勧めします。 |
Catalog Download Timeout | カタログファイルがダウンロードされるまで待つ時間 (秒単位) です。 |
Build (ビルド)
ビルドの設定
すべてのビルドに影響する設定です。
プロパティ | 機能 |
---|---|
Build Addressables on Player Build | Addressables コンテンツが、プレイヤービルドの一部としてビルドされるかどうかを示します。 • Build Addressables content on Player Build: プレイヤーのビルド時に常に Addressables コンテンツをビルドします。 • Do not Build Addressables content on Player Build: プレイヤーのビルド時に Addressables コンテンツをビルドしません (Addressables コンテンツを変更した場合は、プレイヤーをビルドする前に、手動でコンテンツを再ビルドする必要があります)。 • Use global Settings (stored in preferences): Unity Editor Preferences (Addressables の下) に指定された値を使用します。 最初の 2 つのオプションは、現在のプロジェクトのグローバル環境設定をオーバーライドし、プロジェクトをビルドする関係者すべてに影響します。使用しない場合は、すべての Unity プロジェクトにグローバル環境設定の値が適用されます。詳細については、[コンテンツのビルド] を参照してください。 |
Ignore Invalid/Unsupported Files in Build | 有効にすると、Addressables ビルドスクリプトは、無効なファイルやサポートされないファイルがあった場合にビルドを中止するのではなく、それらのファイルを除外します。 |
Unique Bundle IDs | 各ビルドで一意のバンドル名を作成するかどうかを示します。詳細については、Unique Bundle IDs を参照してください。 |
Contiguous Bundles | より効率的なバンドルレイアウトを作成します。Addressables 1.12.1 以前で作成されたバンドルがある場合は、このオプションを無効にして、バンドルの変更を最小限にしてください。 |
Non-Recursive Dependency Calculation (再帰的でない依存関係の計算) | このオプションを有効にすると、アセットに循環依存関係があるときにビルド時間が短縮され、ランタイムメモリのオーバーヘッドが削減されます。以下に例を示します。 • バンドル A に割り当てられたプレハブが、バンドル B に割り当てられたマテリアルを参照しています。このオプションが無効な場合、Unity は、このマテリアルの依存関係を 2 回 (バンドルごとに 1 回ずつ) 計算する必要があります。このオプションを有効にすると、Unity は、このマテリアルの依存関係を 1 回 (バンドル B について) 計算する必要があります。 • 多数のシーンで同じマテリアルを参照しています。このオプションが無効な場合、Unity は、各シーンを開いてシェーダーの使用を計算する必要があり、この操作にコストがかかります。このオプションを有効にすると、Unity はマテリアルをロードするだけです。依存関係の計算のためにシーンを開く必要はありません。 Unity バージョン 2021.2 以降の使用時には、このオプションがデフォルトで有効になっています。このオプションを無効にすると、以前にビルドされたバンドルが無効になります。これは、再ビルドされたバンドルではビルドレイアウトが異なるためです。したがって、ビルドが出荷されていない限り、このオプションは有効のままにしておくことをお勧めします。 循環依存関係によっては、このオプションを有効にするとロードできない場合があります。これは、ビルドにコンテンツが追加されても、参照先アセットが割り当てられているバンドルの場所が常に同じであるためです。これは、MonoScript でよく発生する問題です。MonoScript バンドルをビルドすると (MonoScript Bundle Naming Prefix を参照)、このロード障害の解決に役立つ場合があります。 |
Shader Bundle Naming Prefix | Unity シェーダー用に作成されたバンドルに名前を付ける方法です。 |
MonoScript Bundle Naming Prefix | すべての MonoScript を含むバンドルに名前を付ける方法です。バンドルを使用すると、すべての Monoscript が、MonoBehavior に参照される前に Unity に確実にロードされます。重複や複雑化した Monoscript 依存関係の数も削減されるため、ランタイムメモリのオーバーヘッドが減少します。 |
Strip Unity Version From AssetBundles | バンドルヘッダーから Unity バージョンを削除するかどうかを示します。 |
Disable Visible Sub Asset Representations | このオプションを有効にすると、サブオブジェクト (スプライト、サブメッシュなど) を直接使用しない場合にビルド時間が短縮されます。 |
Build and Play Mode Scripts (ビルドスクリプトと再生モードスクリプト)
設定されたビルドスクリプトと再生モードスクリプト
プロジェクトで使用できる IDataBuilder スクリプトを設定します。カスタムのビルドスクリプトまたは再生モードスクリプトを作成したら、使用する前にこのリストに追加する必要があります。
Addressables パッケージには、デフォルトのビルドプロセスを処理し、再生モードでデータにアクセスするさまざまな方法を提供するビルドスクリプトがいくつか含まれています。これらのスクリプトは AddressableAssetData/DataBuilders フォルダーにあります。
Note
ビルドスクリプトと再生モードスクリプトは ScriptableObject アセットです。ビルドスクリプトまたは再生モードスクリプトの ScriptableObject アセットを作成するには、[ScriptableObject マニュアルページ] にある手順に従ってください。
カスタムスクリプトを追加するには、+ ボタンをクリックし、ファイルパネルで、目的のスクリプトを表す ScriptableObject アセットを選択します。
カスタムスクリプトの詳細については、[カスタムビルドスクリプトの作成] を参照してください。
Asset Group Templates (アセットグループテンプレート)
設定されたグループテンプレート
新しいグループを作成するために使用できるテンプレートのリストを定義します。新しいテンプレートを作成したら、使用する前にこのリストに追加する必要があります。
Addressables パッケージには、デフォルトビルドスクリプトで使用されるスキーマを含むテンプレートが 1 つ含まれています。このテンプレートは AddressableAssetData/AssetGroupTemplates フォルダーにあります。
Note
グループテンプレートは ScriptableObject アセットです。グループテンプレートの ScriptableObject アセットを作成するには、[ScriptableObject マニュアルページ] にある手順に従ってください。
カスタムテンプレートを追加するには、+ ボタンをクリックし、ファイルパネルで、目的のテンプレートを表す ScriptableObject アセットを選択します。
カスタムテンプレートの作成の詳細については、[グループテンプレート] を参照してください。
Initialization Objects (初期化オブジェクト)
設定された初期化オブジェクト
プロジェクトの初期化オブジェクトを設定します。初期化オブジェクトは、IObjectInitializationDataProvider インターフェースを実装した ScriptableObject クラスです。これらのオブジェクトを作成すると、ランタイムに Addressables の初期化プロセスにデータを渡すことができます。
Note
初期化オブジェクトは ScriptableObject アセットです。初期化オブジェクトの ScriptableObject アセットを作成するには、[ScriptableObject マニュアルページ] にある手順に従ってください。
初期化オブジェクトを追加するには、+ ボタンをクリックし、ファイルパネルで、目的のオブジェクトを表す ScriptableObject アセットを選択します。
詳細については、[初期化のカスタマイズ] を参照してください。