回答編集履歴

1

コメントに書いたことを追記

2021/10/07 12:00

投稿

katsuko
katsuko

スコア3471

test CHANGED
@@ -13,3 +13,53 @@
13
13
 
14
14
 
15
15
  エディタ上で実行している場合は、**BuildSettingsのプラットフォームが何であろうと、実行環境のプラットフォームはStandaloePCなので、AssetBundleはStandalonePCでビルドされたものでなければなりません。**
16
+
17
+
18
+
19
+ ---
20
+
21
+
22
+
23
+ 時間がなかったのでコメント欄にごちょごちょと書きましたが、ちょっと整理して追記します。
24
+
25
+
26
+
27
+ エディタ上で実行している際は、AssetBundleはPCプラットフォームでビルドされたものでなければならないのは、前述のとおり。
28
+
29
+ もう少し細かく言うと、fiveHundredさんの言うとおり、AssetBundle自体は問題なくロードできますが、バンドルされたアセットの中には、ビルドされたプラットフォーム向けになっているものがあるため、そのアセットを使用しようとすると問題が発生します。
30
+
31
+
32
+
33
+ Addressablesの場合、「Play Mode Script」が「Use Existing Build」になっていると、BuildSettingsのプラットフォームでビルドされたアセットバンドルを読みに行くので、PCプラットフォーム以外だと上記のような問題が発生します。
34
+
35
+ なので、自分はプラットフォームをPCにして動作を確認しています。(もしくは、プログラムもビルドして、実機上で確認します)
36
+
37
+
38
+
39
+ > Asset bundles built with build target Android may not be compatible with running in the Editor.
40
+
41
+
42
+
43
+ このメッセージですが、自分も試してみたところ、上記のようにPCプラットフォーム以外で「Use Existing Build」で実行すると出力されるようです。エラーではなく、警告メッセージですね。
44
+
45
+ ちなみに、
46
+
47
+
48
+
49
+ ```csharp
50
+
51
+ IEnumerator Start()
52
+
53
+ {
54
+
55
+ yield return Addressables.InitializeAsync();
56
+
57
+ }
58
+
59
+ ```
60
+
61
+
62
+
63
+ というように、`Addressables.InitiazlieAsync`メソッドを呼んでも、メッセージが出力されます。
64
+
65
+ `Addressables.LoadAssetAsync`メソッドを呼んだ際にも、まだ初期化がされていなければ`InitializeAsync`メソッドが実行されるようになっているはずなので、エディタ上で実行された際に初期化時に、PCプラットフォーム以外であったら、「このまま続けると、(先に言ったような)問題が起きるかもしれないよ」という警告なんだと思います。