【Unity】【Addressable】Hosting Service機能を使ってお手軽にローカルサーバからAssetBundleをダウンロードして使う

UnityのAddressableのHosting Service機能を使ってお手軽にローカルサーバからAssetBundleをダウンロードして使う方法をまとめました。

Unity2019.2.10
Addressable1.3.8

Addressablesの基礎知識

この記事ではAddressableアセットシステムのHosting Service機能を使ってお手軽にローカルサーバからAssetBundleをダウンロードして使う方法をまとめます。
Addressableの概念や基礎知識についての説明はこの記事では省略しますが、
以下の記事にまとめていますので、必要に応じて参照してください。

light11.hatenadiary.com

Hosting Service?

Addressablesでは、ロード元のパスにURLを指定することでリモートサーバからAssetBundleをダウンロードできます。
しかし開発初期などリモートサーバが用意されていないこともよくあります。

Hosting Servicesを使うと、ローカルPCをサーバにすることでネットワークを介して
AssetBundleをダウンロードできるようにする仕組みを簡単に整えることができます。

ホスティングサービス設定を作る

この機能を使うにはまずホスティングサービスの設定を行います。
まずAddressables GroupsウィンドウのツールバーのTools > Hosting Servicesを選択します。

f:id:halya_11:20191114141857p:plain

Addressables Hostingウィンドウが開くので、Create > Local Hostingで設定を作ります。

f:id:halya_11:20191114141941p:plain

適当に名前を入力してEnableにチェックを付けると、ポート番号が割り振られます。

f:id:halya_11:20191114142342p:plain

Profileを作る

次にAddressables GroupsウィンドウのProfileからManage Profileを選択します。

f:id:halya_11:20191114142619p:plain

Addressables Profilesウィンドウが開かれるのでCreate > Profileを選択して新しくProfileを作ります。

f:id:halya_11:20191114142737p:plain

Profileの名前は適当に付けておきます。
RemoteLoadPathにはhttp://[PrivateIpAddress]:[HostingServicePort]と入力します。
これでこのPCがAssetBundleのダウンロード先として指定されます。

RemoteBuildPathはプロジェクト外の任意の場所になります。
今回は適当にLocalHostData/[BuildTarget]に設定しました。

f:id:halya_11:20200405205719p:plain

AssetBundleをサーバからダウンロードして使う

次に、Addressables Groupsウィンドウにもおり、Profileドロップダウンから先ほど作ったProfileを選択します。

f:id:halya_11:20191114143325p:plain

あとはこの状態でビルドを行い、Play Mode ScriptをUse Existing BuildにしてAddressablesを読み込むだけです。
プライベートIPアドレスにアクセスできるネットワーク上であれば、他のPCやビルド後のバイナリからでもアクセスできます。

関連

light11.hatenadiary.com

参考

docs.unity3d.com