Unityでビルドしたアプリ(.exeファイル)を実行した際にシェーダが読み込めない問題に遭遇した.普段,Unity Editorの中でプレイボタンを押すだけだったので,今になってこういう問題があることに気が付いた...
問題
Shader.Find("Unlit/Transparent")
といった具合にシェーダを読み込むようにスクリプトに書いていた- プレイモードでは読み込まれる
- しかし,ビルドしたアプリでは読み込みエラーになる
解決方法
Project Settings > Graphics > Preloaded Shaders
の一番下にあるSave to asset...
ボタンを押すと必要なシェーダが丸まる.shadervariants
というファイルに保存する- これを
Preloaded Shaders
直下にあるElement
のボックスに突っ込む