Addressables公式ドキュメントを読んで適当にまとめる
ワークフロー
アドレッサブルグループ
ビルドカスタマイズできる
エディタ上からは開発中にローカルとリモートストレージどちらから取って来れるか指定できる。
公式マニュアルを読み込んでいく
バンドル読み込みと解放を行うべき
void Start()
{
// 読み込み
AsyncOperationHandle handle = reference.LoadAssetAsync<GameObject>();
handle.Completed += Handle_Completed;
}
private void OnDestroy()
{
//開放
reference.ReleaseAsset();
}
リモートPCからバンドルをインストールする設定
以下のファイルをそこに配置しなければならない
- アセットバンドル (name.bundle)
- カタログ (catalog_timestamp.json)
- ハッシュ (catalog_timestamp.hash)
アセットバンドルを一回でもインポートしたらキャッシュが作られる件
キャッシュ削除方法
- Caching.ClearCache
- CleanBundleCache
- UpdateCatalogsautoCleanBundleCache
実行時にコンテンツ更新の確認方法!はこちら
リモートコンテンツの事前ダウンロード方法!
- DownloadDependencyAsync
渡したアドレスまたはラベルの依存関係が読み込まれます。 - AsyncOperationHandle構造体
ダウンロードの進行状況を監視および表示するために使用できる PercentComplete 属性が含まれています。コンテンツが読み込まれるまでアプリを待機させることもできます。 - GetDownloadSize
ダウンロード前にユーザーに同意を求める場合は、Addressables.GetDownloadSizeを使用して、指定されたアドレスまたはラベルからコンテンツをダウンロードするために必要なスペースの量を返します。
コンテンツの増分更新
ちょっとしたシーン更新があった時にバージョンアップできる。
アセットバンドルから分割でロードする方法
UnityのAddressable Asset Systemでは、アセットはグループ単位でバンドル化(ビルド)され、各グループが個別のアセットバンドルとして扱われます。これは、通常、グループ内のアセットは一緒にバンドル化され、ロード時にはそのグループ全体がロードされることを意味します。
ただし、具体的な挙動はグループの設定によります。Addressable Asset Systemでは、グループの設定をカスタマイズすることで、アセットのロードやアンロードの挙動を細かく制御することが可能です。
例えば、「ラベル」を使用すると、特定のラベルが付けられたアセットだけをロードすることが可能です。これにより、グループ内の特定のアセットだけを個別にロードすることが可能となります。
また、「Asset Bundle Mode」の設定を「Packed Play Mode」にすると、グループ内のアセットは個別のアセットバンドルとしてビルドされ、ランタイム中に個別にロード・アンロードすることが可能となります。
したがって、二つのシーンが同じグループに含まれている場合、そのグループの全てのアセットが一緒にロードされるかどうかは、グループの設定によります。一部のアセットだけをロードするための設定がなされている場合、それに従ってアセットがロードされます。
以上の情報が参考になれば幸いですが、UnityのAddressable Asset Systemは非常に高機能であるため、その全ての機能を完全に理解するにはかなりの学習と経験が必要です。Unityの公式ドキュメンテーションやチュートリアルをご参照いただくことを強くお勧めします。