Open2

Addressable Assets Systemメモ

たももたもも

アセット参照による同一アセット重複の罠

アセットAからアセットCを参照
アセットBからアセットCを参照

アセットAをAddressableに登録する
アセットBをAddressableに登録する
アセットCはAddressableに登録しない

Addressableをビルドする

アセットA用のバンドルが出力される
アセットAはアセットCに依存しているが、アセットCは明示的にAddressableに登録していない
そのため、アセットA用のバンドルに暗黙的にアセットCが内包される

アセットB用のバンドルでも同様にアセットCが内包される

アセットCがアセットA用バンドル・アセットB用バンドルそれぞれに存在し、同じデータを二重でもつことになる

バンドルをアプリに内包している場合はアプリサイズはもちろん増えるし、重複してロードとなりメモリ不足に起因するので要注意。

たももたもも

ロード時間短縮したいときの参考

グループのPacking Mode見直し

Pack Separatelyになっている場合、Addresableに登録しているファイル単位でバンドル化される。
ファイルが分かれているため、ファイルIOで時間がとられてしまう場合がある。
Pack Togetherにすることで、グループ単位でバンドル化されるため、ファイルIOの時間が短縮される可能性あり。ただし、バンドル自体のサイズは増えるため、メモリには注意すること。