【Unity】AssetBundleに格納したPrefabがEditorで再生するとピンク色表示になるので対策

DEVELOP, Unity

詳細はテラシュールブログが詳しいです。

こちらに書かれている通り、カスタムシェーダーを使っている場合、AssetBundleとしてビルドしたデータに格納されているシェーダーはiOSやAndroid向けのものになっているために発生する(GraphicsAPIの違い)。そのため「AndroidやiOS用に作成したAssetBudleをWindows環境で読み込み表示した」のですからプラットフォームが違えば確かにおかしくなるのは納得の話。

解決策1

Unityのバージョンが2018.3以降であれば

Editorの環境ごとにGraphicsAPIを設定できるため、これでAndroid相当で動作させることが出来ます。以前まではここがWindowsとMac環境それぞれで設定できなかったのですが、2018.3以降からできる様になりました。

解決策2

Windows,Mac用のアセットバンドルをビルドする。動作確認を純粋にPC環境でも行いたい場合はこちらもアリだと思います。

Posted by kazupon