Amazonで商品を見るセール会場へ

Unity│マテリアルがピンク(マゼンタ)になる原因と直し方

Unityでオブジェクトが真っピンク(マゼンタ)になるのは、マテリアルかシェーダーに問題があるという目印です。

公式マニュアルは、この色を「エラーシェーダー」と呼んでいます。

  • 原因の例:URP や HDRP のプロジェクトに、Built-in 用のシェーダーのマテリアルがある
  • ほかの原因:シェーダーのコンパイルエラー、マテリアルが付いていない、機種がシェーダーに対応していない
  • 直し方:パイプラインに合ったシェーダーに変える(Render Pipeline Converter など)

この記事は、Unity公式マニュアル(Unity 6.3、2026年9月29日に確認)にもとづいています。

目次

ピンクはエラーシェーダー

公式マニュアルには、オブジェクトのマテリアルやシェーダーに問題があるとき、Unityはマゼンタ(明るいピンク)のエラーシェーダーで描くと書かれています。

例として、マテリアルが割り当てられていないとき、シェーダーがコンパイルできないとき、シェーダーが対応していないときが挙げられています。

変更前にプロジェクトをバックアップし、Unityとパイプラインの版、対象端末、シェーダー名を記録します。

Scene・Game・Projectの見本・実行ビルドのうち、どこでピンクになるかを分けて確認してください。

Consoleにエラーがある場合は、その全文と対象のシェーダー名を控えてから設定を変更します。

スポンサーリンク

原因と直し方

原因よくある場面直し方
パイプラインとシェーダーが合わないBuilt-in 用のアセットを URP・HDRP のプロジェクトに入れた現在のパイプラインをGraphicsとQualityで確認し、URPならURP用、HDRPならHDRP用の対応シェーダーへ変換する
シェーダーのコンパイルエラーシェーダーのコードに誤り、Unityのバージョンが合わないコンソールとシェーダーのインスペクターのエラーを見て直す
マテリアルが付いていないモデルを読み込んだだけ、マテリアルを消したメッシュレンダラーにマテリアルを割り当てる
機種がシェーダーに対応していない特定の機種に書き出したときだけピンクその機種で動くシェーダーに変える

URPのプロジェクトで直す

  1. ピンクのマテリアルを選び、インスペクターでシェーダーの名前を見る
  2. Standard など Built-in 用なら、「Universal Render Pipeline/Lit」などに変える
  3. たくさんある場合は「Window」→「Rendering」→「Render Pipeline Converter」でまとめて変換する

コンバーターで変換できるのは、変換先のURPに対応するルールが用意されたマテリアルです。

標準のコンバーターは独自シェーダーを自動変換しません。

URP対応版への変更、シェーダーの修正、独自の変換ルールの用意が必要です。

変更前のマテリアルを保全し、まず試験用コピーで1つずつ確認してください。

同じマテリアルを使う別のオブジェクトも控え、変更後に意図しない見た目へ変わっていないか確認します。

ピンクが消えても透明部分や陰影が変わった場合は、一括変換へ進まずプロパティの対応を見直します。

シェーダー名だけを変更すると、テクスチャ・透明設定・法線マップなどの対応が不足する場合があるため、各プロパティも見直します。

手順は、UnityのBuilt-inからURPへの移行で紹介しています。

実機例:Standardの1素材をURP/Litへ変更する

URPのプロジェクトでCubeがピンクになった例を、Windows 11 ProのUnity 6.6(6000.6.5f1)で確認しました。

使用したURPパッケージは17.6.0です。

Cubeに割り当てたマテリアル「PinkTest」はベースの色が白ですが、シェーダーをStandardにすると、Cubeもプロジェクトウィンドウの見本もピンクになりました。

シェーダーがStandardのマテリアルを割り当てたCubeが、UnityのSceneビューでマゼンタに表示されている画面
Cubeとマテリアルの見本がピンクになり、インスペクターのシェーダーはStandardになっています。(検証日:2026年10月10日、Windows 11 Pro、Unity 6.6[6000.6.5f1]、URP 17.6.0) 原寸で見る

まず、プロジェクトで使っているレンダーパイプラインを確かめます。

この検証では、Edit > Project Settings > Quality の現在の品質設定がPCで、Render Pipeline AssetにPC_RPAsset(Universal Render Pipeline Asset)が割り当てられていました。

Graphicsの既定のアセットが空でもQuality側に設定があることがあるので、Graphicsだけを見て判断しないようにします。

Project SettingsのQualityで、現在の品質設定PCにPC_RPAsset(Universal Render Pipeline Asset)が割り当てられている画面
現在の品質設定PCにURPのアセットが割り当てられています。画面には、Graphicsの既定のアセットが未設定だという通知も出ています。(検証日:2026年10月10日、Windows 11 Pro、Unity 6.6[6000.6.5f1]、URP 17.6.0) 原寸で見る

次に、ピンクになっているマテリアルをプロジェクトウィンドウで選び、インスペクターのシェーダー欄からUniversal Render Pipeline/Litを選びます。

検索欄にLitと入力した場合は、Lit(Universal Render Pipeline)を選びます。

Baked LitやComplex Litは別の項目です。

Unityの公式マニュアルでも、Built-inのStandardに対応するURPのシェーダーとしてLitが示されています。

インスペクターのシェーダー欄でLitを検索し、候補の3行目にLit(Universal Render Pipeline)が並んでいるドロップダウン
検索結果のうち、選ぶのは3行目のLit(Universal Render Pipeline)です。先頭で青く選ばれているBaked Litではありません。この画像は、変更したあとに候補をもう一度表示して撮影しました。(検証日:2026年10月10日、Windows 11 Pro、Unity 6.6[6000.6.5f1]、URP 17.6.0) 原寸で見る

この1つのマテリアルをURP/Litに変えると、Cubeのピンクが消え、白い面に陰影が出ました。

画像01と画像04は、視点も照明も変えずに撮っています。

Cubeの位置やシーンの照明の設定も変えていません。

保存してEditorを終了し、同じプロジェクトを開き直したあとも、シェーダーはUniversal Render Pipeline/Litのままで、白いCubeの表示が保たれていました。

シェーダーをUniversal Render Pipeline/Litに変更したあと、白い面に陰影が付いて表示されているCubeとインスペクター
シェーダーを変更し、保存してEditorを開き直したあとの画面です。画像01と同じ構図で、白い面の陰影とインスペクターのUniversal Render Pipeline/Litを確認できます。(検証日:2026年10月10日、Windows 11 Pro、Unity 6.6[6000.6.5f1]、URP 17.6.0) 原寸で見る

ここで確認したのは、URPのテストプロジェクトでStandardを使っていた1つのマテリアルの例です。

テクスチャ付きのマテリアルや自作シェーダーの変換、一括変換、実行ビルドでは確かめていません。

ピンクになる原因はほかにもあるため、この変更だけですべてが直るとは限りません。

参考(2026年10月10日に確認):

Unity Manual「Built-In Render Pipeline prebuilt shaders in URP reference」

Unity Manual「Lit shader material Inspector window reference for URP」

プロジェクトの一覧の見本だけがおかしいとき

変換後にProjectビューのサムネイルだけがおかしい場合はReimport Allが公式の対処例です。

全体の再インポートに時間がかかり、非対応シェーダーそのものを直す操作ではありません。

Editorでは正常で、ビルドだけピンクになるとき

まず、対象端末のGraphics APIとハードウェアが、そのシェーダーに対応しているかを確認します。

次に、ビルドで必要なシェーダーバリアントが除外されていないかを調べます。

バリアントは、キーワードの組み合わせなどに応じて作られるシェーダーの種類です。

不要な種類をビルドから省く処理を、ストリッピングと呼びます。

必要な種類が不足すると、通常はUnityが近い種類を代用し、代用もできない場合にエラーシェーダーを使います。

不足を調べるには、検証用プロジェクトでEdit > Project Settings > Playerを開きます。

Other SettingsのShader SettingsにあるStrict shader variant matchingを有効にし、対象端末向けにビルドして問題の場面を実行してください。

この設定では、必要な種類がない場合にピンクを表示し、不足したバリアントとキーワードをコンソールの警告に出します。

ピンクを消す設定ではなく、不足を見つけるための設定です。

ビルド時の除外状況は、Editor.logでCompiling shaderを検索すると調べられます。

警告とログを手がかりに、そのシェーダーのストリッピング設定を見直してください。

根拠:Unity 6.6公式の不足バリアント検出手順(2026年10月26日確認)。

上の診断手順は公式資料との照合で、この記事では実行ビルドの不足再現や修正後の描画確認を行っていません。

ピンクになりにくくするには

  • プロジェクトのパイプラインを作り始めに決める
  • アセットを入れる前に、対応しているパイプラインを確かめる
  • Unityのバージョンを上げる前に、パイプラインのパッケージとアセットの対応版を確認する

パイプラインの違いは、UnityのURP・HDRP・Built-inの違いと選び方で紹介しています。

スポンサーリンク

まとめ

  • ピンク(マゼンタ)は、マテリアルかシェーダーに問題がある目印
  • 原因の一つはパイプラインとシェーダーの不一致。色だけで原因を断定しない
  • 変換ルールがあるBuilt-in用マテリアルは、Render Pipeline ConverterでURP用へ変換する
  • 自作・アセットのシェーダーは、対応する版に入れ替える

参考:Error and loading shaders、Shader loading(2026年10月24日再照合)。

Editorでは正常でもビルドだけピンクになる場合は、Graphics API・実機の対応に加え、必要なシェーダーバリアントがストリッピングで除外されていないかも確認します。

次に学ぶ・作業環境を選ぶ

学習を続けたい方や、作業環境を整えたい方は、目的に合うガイドをご覧ください。

Unityのおすすめ書籍

開発PCの選び方

周辺機器の優先度

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次