Unityでオブジェクトが真っピンク(マゼンタ)になるのは、マテリアルかシェーダーに問題があるという目印です。
公式マニュアルは、この色を「エラーシェーダー」と呼んでいます。
- いちばん多い原因:URP や HDRP のプロジェクトに、Built-in 用のシェーダーのマテリアルがある
- ほかの原因:シェーダーのコンパイルエラー、マテリアルが付いていない、機種がシェーダーに対応していない
- 直し方:パイプラインに合ったシェーダーに変える(Render Pipeline Converter など)
この記事は、Unity公式マニュアル(Unity 6.3、2026年9月29日に確認)にもとづいています。
目次
ピンクはエラーシェーダー
公式マニュアルには、オブジェクトのマテリアルやシェーダーに問題があるとき、Unityはマゼンタ(明るいピンク)のエラーシェーダーで描くと書かれています。
例として、マテリアルが割り当てられていないとき、シェーダーがコンパイルできないとき、シェーダーが対応していないときが挙げられています。
原因と直し方
| 原因 | よくある場面 | 直し方 |
|---|---|---|
| パイプラインとシェーダーが合わない | Built-in 用のアセットを URP・HDRP のプロジェクトに入れた | Render Pipeline Converter で変換するか、マテリアルのシェーダーを URP 用に変える |
| シェーダーのコンパイルエラー | シェーダーのコードに誤り、Unityのバージョンが合わない | コンソールとシェーダーのインスペクターのエラーを見て直す |
| マテリアルが付いていない | モデルを読み込んだだけ、マテリアルを消した | メッシュレンダラーにマテリアルを割り当てる |
| 機種がシェーダーに対応していない | 特定の機種に書き出したときだけピンク | その機種で動くシェーダーに変える |
URPのプロジェクトで直す
- ピンクのマテリアルを選び、インスペクターでシェーダーの名前を見る
- Standard など Built-in 用なら、「Universal Render Pipeline/Lit」などに変える
- たくさんある場合は「Window」→「Rendering」→「Render Pipeline Converter」でまとめて変換する
Unityに最初から入っているシェーダーのマテリアルなら、コンバーターで変換できます。
自作やアセットのシェーダーは変換されないので、URP 対応の版に入れ替えます。
手順は、UnityのBuilt-inからURPへの移行で紹介しています。
プロジェクトの一覧の見本だけがおかしいとき
変換したのに、プロジェクトウィンドウの見本の画像だけおかしい場合は、プロジェクトウィンドウで右クリックして「Reimport All」を試します。
ピンクになりにくくするには
- プロジェクトのパイプラインを作り始めに決める
- アセットを入れる前に、対応しているパイプラインを確かめる
- Unityのバージョンを上げたときは、パイプラインのパッケージも合わせて更新する
パイプラインの違いは、UnityのURP・HDRP・Built-inの違いと選び方で紹介しています。
まとめ
- ピンク(マゼンタ)は、マテリアルかシェーダーに問題がある目印
- いちばん多いのは、パイプラインとシェーダーが合わないこと
- Built-in 用のシェーダーは、Render Pipeline Converter で URP 用に変える
- 自作・アセットのシェーダーは、対応する版に入れ替える
参考:Unity「Error shader」「Converting your shaders」(2026年9月29日に確認)。
