UnityのAddressableのHosting Service機能を使ってお手軽にローカルサーバからAssetBundleをダウンロードして使う方法をまとめました。
Unity2019.2.10
Addressable1.3.8
Addressablesの基礎知識
この記事ではAddressableアセットシステムのHosting Service機能を使ってお手軽にローカルサーバからAssetBundleをダウンロードして使う方法をまとめます。
Addressableの概念や基礎知識についての説明はこの記事では省略しますが、
以下の記事にまとめていますので、必要に応じて参照してください。
Hosting Service?
Addressablesでは、ロード元のパスにURLを指定することでリモートサーバからAssetBundleをダウンロードできます。
しかし開発初期などリモートサーバが用意されていないこともよくあります。
Hosting Servicesを使うと、ローカルPCをサーバにすることでネットワークを介して
AssetBundleをダウンロードできるようにする仕組みを簡単に整えることができます。
ホスティングサービス設定を作る
この機能を使うにはまずホスティングサービスの設定を行います。
まずAddressables GroupsウィンドウのツールバーのTools > Hosting Servicesを選択します。
Addressables Hostingウィンドウが開くので、Create > Local Hostingで設定を作ります。
適当に名前を入力してEnableにチェックを付けると、ポート番号が割り振られます。
Profileを作る
次にAddressables GroupsウィンドウのProfileからManage Profileを選択します。
Addressables Profilesウィンドウが開かれるのでCreate > Profileを選択して新しくProfileを作ります。
Profileの名前は適当に付けておきます。
RemoteLoadPathにはhttp://[PrivateIpAddress]:[HostingServicePort]
と入力します。
これでこのPCがAssetBundleのダウンロード先として指定されます。
RemoteBuildPathは初期設定のServerData/[BuildTarget]
で問題ありません。
AssetBundleをサーバからダウンロードして使う
次に、Addressables Groupsウィンドウにもどり、Profileドロップダウンから先ほど作ったProfileを選択します。
あとはこの状態でビルドを行い、Play Mode ScriptをUse Existing BuildにしてAddressablesを読み込むだけです。
プライベートIPアドレスにアクセスできるネットワーク上であれば、他のPCやビルド後のバイナリからでもアクセスできます。