【Unity】シェーダーがビルドだけピンクになる(UniversalRenderPipelineの名前が原因)

問題

Unityエディタでは正常に描画されているのに、iOSビルド(未確認だが多分PCやAndroidも)ピンク(エラー状態)になる問題が発生した。

原因と対処法

下記のようにTagsのRenderPipelineにUniversalRenderPipelineを指定していたのが原因だった。

Tags {
    "RenderPipeline" = "UniversalRenderPipeline"
}

正しくはこちらで、UniversalPipelineである。

Tags {
    "RenderPipeline" = "UniversalPipeline"
}

ただの私のタイポかと思いきや実は、Unity2021では上の書き方が正しかった。
Unity2022以降で謎の改名が入り、下の書き方になったようだ。

タチが悪いのは、上の書き方でもUnityEditorでは動くということ。
ビルド版だけピンクになるのはUniversalRenderPipelineをターゲットにした結果、ビルド時にStripされてしまったからだろう。

参考