AssetBundle
March 03, 2021 モバイルゲームを支えるリソース管理基盤のつくりかた
AssetBundle 周りがこれくらい出来てると嬉しい感じですね
— へっぽこ (@heppoko) March 5, 2021
2018年08月19日 AssetBundleまったく分からない人向けのAssetBundleのメンタルモデル - Qiita
おすすめの実践的な2択
シンプルな買い切りアプリでアップデートしない → https://github.com/kamanii24/AssetBundleManager これ使う
運用前提のアプリでアップデートしていく → https://github.com/sassembla/Autoya これ使う。導入記事書きました。 https://qiita.com/neon-izm/items/27326106738cee2fff69
一般的にはモデルやテクスチャや音楽データなどの ファイルサイズが大きめのデータ類 をアセットバンドルにします。
アセットバンドルはC#のスクリプトなどを含めることが出来ません。なので バグ修正をアセットバンドルで配信はしません。シェーダーも大体アセットバンドルに含めません
クソデカデータをいい感じに分割しておくとそこだけ差し替えられる
アセットバンドルのやばい点
アセットバンドルからのダウンロードや参照が必要になるかどうかはゲームによって全部変わるので、ロードシステムを大体自作する羽目になります
アセットバンドルに含めたリソースをシーンからも参照していると全然ビルド時のバイナリサイズが減りません。めちゃくちゃつらいです。
UnityのAssetBundleは、かなり低レイヤーのAPIだけが用意されている状況でした。そのため各社がオレオレAssetBundleManagerを作っている、という状況でした。
それに対してUnity側がある程度の高レイヤーなシステムとしてAddressableAssetSystems(AAS)を提供しました。Unity2018.3以降であれば使うことが出来ます。
もしプロジェクトにこういった基盤が何も無ければ、おすすめとしてはAASです。
ABを使う場合はAutoyaを検討してください
3章:運用を見据えて作っておこう | ソーシャルゲームのクライアントエンジニア入門以前