UnityのAddressablesからサーバーにおいてあるプレハブを取得するサンプルを作ってるのですが、
a.
RemoteLoadPathに自分のサーバーを指定し、"Playボタン"を押し動作させ、プレハブを、自分のサーバーから、とってくる設定で、表示するところまでうまくいきました。
PlayModeScriptは"Use Existing Build"を指定しサーバーからとってくるように設定しています。このとき上げたAddressablesファイルはプレハブで、RemoteBuildPathにServerData/WebGLが設定されており、そこにビルドされたAddressablesファイルをサーバーへ上げています。
b.
ここから以下3つの操作でキャッシュを削除しました。
- Asset Management/Addressables/Groups/Build/CleanBuild/All
- Asset Management/Addressables/Groups/Build/CleanBuild/Content Builders
- Asset Management/Addressables/Groups/Build/CleanBuild/Build Pipeline Cache
その後"Playボタン"を押し、動作させたところ
1と2の場合は、
Player content must be built before entering play mode with packed data. This can be done from the Addressables window in the Build->Build Player Content menu command. UnityEngine.GUIUtility:ProcessEvent (int,intptr) (at
が表示されました。
3の場合は、問題ありませんでした。
ということで、1,2でエラーになったことで、
上のaのとき、本当にサーバーからとってこれているのでしょうか?
それとも失敗してるのでしょうか?
もう一度何が疑問なのかというと、
キャッシュを削除しても、プレハブデータがサーバーに置いてあれば、そこから取得して、表示されると思っているのですが、キャッシュを削除してもエラーになるということは、サーバーから正常に取得できてないのかな・・・。とおもってます。aが問題ない挙動なのか、判断したいです。ご存じの方、返信いただけると嬉しいです。
検索すると
https://baba-s.hatenablog.com/entry/2020/04/04/100000_1
がヒットし、再度Addressableをビルドしてと出ており、はやり失敗してるのかと思うのかと思ったりしてます・・・。
Addressablesのサーバーからのロードについては、以下ページを参考にしてます。
https://light11.hatenadiary.com/entry/2019/12/26/225232
Unity2019.4.26f1を使っています。
あなたの回答
tips
プレビュー