Unity の Addressables 使用し Google Play Asset Delivery に対応する
※ これは 2022/08/26 時点の Unity 2022.1.14f1 Addressables v1.20.5 Windows 11 の情報です
最新版では動作が異なる可能性がありますのでご注意ください
前回引き続きAddressables を使いつつ、今回は Android アプリでインストール時のダウンロードサイズを増やせるようになる Google Play Asset Delivery 対応をしてみたい
Google Play ストアには通常 150 MB までの .aab のアプリバンドルファイルしかアップロードできない
これが Google Play Asset Delivery に対応させると、.aab のアプリバンドルファイルに埋め込んですぐ使用できるようにしたとしても、アセットを 1GB まで増やすことができるらしい
まず Unity 公式 Addressables サンプルの GitHub リポジトリ を Clone する
Clone したリポジトリの中の Addressables-Sample/Advanced/Play Asset Delivery/Assets/PlayAssetDelivery
を Unity プロジェクトの Assets
配下にコピーする
次に Assets/AddressableAssetsData/AddressableAssetSettings.asset
を開き、Build and PlayMode Scripts
のリストに Assets/PlayAssetDelivery/Data/BuildScriptPlayAssetDelivery.asset
を追加する
次に Addressables Groups
のウィンドウを開き、Google Play Asset Delivery の 1GB 分に含めたい Addressables Group を選択、Add Schema
ボタンを押下し、Play Asset Delivery
を選択して追加する
この際に Content Packing & Loading
の Asset Bundle Provider
を Play Asset Delivery Provider
に変更し、追加した Play Asset Delivery
の Schema の Asset Pack
が InstallTimeContent
(アプリインストール直後に読み込める設定)になっていることを確認する
この Asset Pack
は他に FastFollow
と OnDemand
があるが、iOS との両対応を考えるとほぼこの二つは使えないので InstallTime
だけ使うようにする
あとは .aab をビルドするための諸々設定
Player Settings の Other Settings にある IL2CPP を有効化することで ARM64 ビルドをできるようにする
Player Settings の Publishing Settings にある Split Application Binary を有効化しアセットパックの分割ビルドできるようにする
最後に Build Settings ダイアログを開き、Build App Bundle を有効化してビルドする
これで 1 GB までのアセットを埋め込んだ .aab ファイルがビルドされ、そのまま Google Play ストアの Developer Console でアップロードできるようになった
ちなみにアセットの容量が 1GB を超えてしまうと Google Play Asset Delivery に対応しない内部構造になりアセットが読み込めなくなるので注意が必要