Unity URPでビルドしたときにUI要素がピンクになる

Unity で作成した UI の画像 (Sprite) が、実機上だけでピンクになった。

左: ビルド後の実機画面   右: Editor上での表示

「Unity とピンク」と聞いて真っ先に思い浮かべるのはマテリアルエラーだとおもう。
URP のプロジェクトならほぼ間違いなくこれで悩まされる。

実際、UIには「Default UI Material」というものが設定されている。

普通のオブジェクトならこのマテリアルをインスペクタから変更したり、URP 用に変化したりすればいいのだが、UI でマテリアルを変更するのには一手順が必要でつまづいたので備忘録的なものとして残しておく。

解決方法

UI 用にマテリアルを作成し、それを適用すればいい。

てきとうにマテリアルを作成し、そのシェーダを 「UI > Default」に変更する。

このもうひとつ下の階層で Default を選ぶ
これを忘れると UI が真っ白になったりする

作成したマテリアルを、UI 要素 (Button など) の Inspector の Image にある Material に設定すればいい。

おわりに

UIにもマテリアルがあるんだなぁという気付きと、なぜ Editor 上の表示では問題が無いのかという疑問。

この記事が気に入ったらサポートをしてみませんか?