はなちるのマイノート

Unityをメインとした技術ブログ。自分らしくまったりやっていきたいと思いますー!

【Unity】サーバーにアセットバンドルを配置し、Addressable Asset Systemでロードしてみる

はじめに

前回Addressable Asset Systemの基本操作についての記事を書いたのですが、今回はサーバー上(ロリポップ)にbundleを配置し、それをダウンロード&利用してみたいと思います。

www.hanachiru-blog.com

docs.unity.cn

環境

Unity 2020.3.18f1
Addressable v1.18.19

新規グループ作成

(初期設定では)一つのGroupが一つのBundleになるので、リモートに配置するGroupを作成してみます。

メニューバーよりWindow -> Asset Management -> Addressables -> Groupを押してAddressable Gruops Windowを開きます。

右クリックを押し、Create New Group -> Packed Assetsより新規Groupを作成できます。

f:id:hanaaaaaachiru:20220322153007p:plain
新規Group作成
f:id:hanaaaaaachiru:20220322153649p:plain
Group作成

Addressable Asset Groupの設定をリモートに変更する

先程作成したグループをクリックすると、インスペクターにそれに対応したAddressable Asset Groupの設定が表示されます。

そこのBuild PathLocalBuildPath -> RemoteBuildPathに、Load PathLocalLoadPath -> RemoteLoadPathに変更します。

f:id:hanaaaaaachiru:20220322201110p:plain
Pathの変更

リモートカタログを生成する

メニューバーのWindows -> Asset Management -> Addressables -> SettingsからAddressableAssetSettingsを開き、以下の二つを行います。

  • Catalog/Player Version Override0と記入
  • Build Remote Catalogにチェック

Addressable Asset Settings | Addressables | 1.18.19

f:id:hanaaaaaachiru:20220322223109p:plain
Catalogの設定

catalogとはアセットのアドレスと物理的な場所の対応付けの情報を記述したファイルになります。

Settings related to the Addressables Catalog, which maps the address of an asset to its physical location.

Addressable Asset Settings | Addressables | 1.18.19


またPlayer Version Overrideを記入しないと、ビルドした際のタイムスタンプを利用したファイル名になるそうです。バージョンを指定しておけば、同じファイルなら上書きになるので多少使い勝手が上がります。

アセットバンドルをビルドする

メニューバーのWindows -> Asset Management -> Addressables -> GroupからAddressable Gruops Windowを開き、アセットバンドルのビルドを行います。

f:id:hanaaaaaachiru:20220322214930p:plain
アセットバンドルのビルド

無事にビルドが成功すると、プロジェクト名/ServerData/の中に.bundlecatalog.hashcatalog.jsonが生成されているはずです。(RemoteBuildPathで設定した場所。デフォルトはServerData/[BuildTarget]

f:id:hanaaaaaachiru:20220322224104p:plain
生成されたcatalogとbundle

ロリポップにアップロード

AWSのS3でも良かったのですが、そういえば最近ロリポップを契約したなと思いロリポップFTPを用いてアセットバンドルをアップロードして試してみました。

やり方は簡単でロリポップFTPで.bundle, catalogをアップロードするだけですね。

f:id:hanaaaaaachiru:20220322224304p:plain
アップロードした様子

Addressable ProfilesよりRemoteBuildPathを設定する

デフォルトではhttp://localhost/[BuildTarget]になっているのですが、サーバーからダウンロードするためにURLに変更する必要があります。

メニューバーよりWindow -> Asset Management -> Addressables -> Profilesを選択し、Addressables Profiles Windowを開きます。

あとはRemoteLoadPathをアセットバンドルとカタログをアップロードしたURLに変更すればOKです。

f:id:hanaaaaaachiru:20220322222145p:plain
RemoteLoadPathの変更

エディタ上で動作確認してみる

Addressable Groups WindowよりPlay Mode ScriptsからUse Existing Buildを設定することで、生成したアセットバンドルを利用した動作確認をすることができます。

f:id:hanaaaaaachiru:20220323002024p:plain
Play Mode Scripts
f:id:hanaaaaaachiru:20220323002125p:plain
動作している様子