Addressables
Addressables システムには、アプリケーションのコンテンツを編成してパッケージ化するためのツールとスクリプト、およびアセットのロードと解放をランタイム時に行うための API が用意されています。
アセットを "Addressable" にすると、そのアセットのアドレスを使用して、どこからでもアセットをロードすることができます。ローカルアプリケーション内とコンテンツデリバリネットワーク上のどちらにアセットがある場合でも、Addressable システムはアセットを見つけて返します。
Addressables システムを導入すると、以下の領域でプロジェクトを改善するために役立ちます。
- 柔軟性: Addressables により、アセットをどこでホストするかを調整できる柔軟性が提供されます。アセットは、アプリケーションと共にインストールすることも、オンデマンドでダウンロードすることもできます。プロジェクトのどの段階でも、ゲームコードを書き直すことなく、特定のアセットにアクセスする場所を変更できます。
- 依存関係の管理: ロードするあらゆるアセットの依存関係は、システムによってすべて自動的にロードされます。このため、システムからコンテンツが返される前に、すべてのメッシュ、シェーダー、アニメーション、その他のアセットがロードされます。
- メモリ管理: システムは、アセットのロードに加えてアンロードも行います。参照が自動的にカウントされ、潜在的なメモリの問題の発見に役立つ堅牢なプロファイラーが提供されます。
- コンテンツのパック: システムは、複雑な依存関係チェーンをマップして理解しているため、AssetBundle を効率的にパッケージ化し、アセットの移動や名前の変更にも対応します。ローカル展開とリモート展開の両方に向けてアセットを準備して、ダウンロード可能なコンテンツをサポートし、アプリケーションサイズを小さくすることができます。
Addressables システムの紹介については、Simplify your content management with Addressables を参照してください。
Note
Addressables システムは、Unity AssetBundle を基盤として構築されています。詳細な管理コードを自分で記述せずに AssetBundle をプロジェクトで使用する場合は、Addressables を使用する必要があります。
既存のプロジェクトへの Addressables の追加
Addressables パッケージをインストールすると、既存の Unity プロジェクトに Addressables を導入できます。そのためには、アセットにアドレスを割り当てて、すべてのランタイムロードコードのリファクタリングを行う必要があります。詳細については、[Addressables システムへのアップグレード] を参照してください。
Addressables はプロジェクト開発のどの段階でも統合できますが、Unity では、不要なコードリファクタリングや、開発の後半でのコンテンツ計画の変更を避けるために、新しいプロジェクトですぐに Addressables の使用を開始することを推奨しています。