Shader.Find のパラメータはファイル名ではない

Shader.Find("ShaderName");

の "ShaderName" 部分に指定するのは shader ファイルのファイル名ではなく、

shader コードの頭で定義している部分を指定する。

例)

A.shader
=============================================

Shader "YourShaderNameHere"
{

// ...

}

B.cs
=============================================

void Start () {

Shader shader;

shader = Shader.Find("A"); // Failed. shader == null
shader = Shader.Find("YourShaderNameHere"); // Success. shader != null

}