Mugichoko's blog

Mugichoko’s blog

プログラミングを中心としたメモ書き.

Unityでビルドしたアプリでシェーダが読み込めない

Unityでビルドしたアプリ(.exeファイル)を実行した際にシェーダが読み込めない問題に遭遇した.普段,Unity Editorの中でプレイボタンを押すだけだったので,今になってこういう問題があることに気が付いた...

問題

  • Shader.Find("Unlit/Transparent")といった具合にシェーダを読み込むようにスクリプトに書いていた
  • プレイモードでは読み込まれる
  • しかし,ビルドしたアプリでは読み込みエラーになる

解決方法

  • Project Settings > Graphics > Preloaded Shadersの一番下にあるSave to asset...ボタンを押すと必要なシェーダが丸まる.shadervariantsというファイルに保存する
  • これをPreloaded Shaders直下にあるElementのボックスに突っ込む

f:id:Mugichoko:20211020220930p:plain
Project Settings > Graphics > Preloaded Shaders