どうやら、UnityのTerrainで草や木や地形にマテリアルを割り当てるときに、独自のシェーダーを適応しているマテリアルは割り当てられないようになっているようだ。

おそらくApplyすればUnity標準のTreeCreatorBarkが適応される(差し替えられる)ような気がするが、そうすると独自シェーダーが適応できなくなってしまうので、エラー文の対応を見ると以下の2点を直せばいいらしい。
1.シェーダーの名前に「leaves」または「bark」がはいっていること。
2.依存性に関する1行をシェーダー内に記載すること
それぞれ以下のように対応したら一応独自シェーダーが適応されたマテリアルでもTerrainで使用できた。
1.独自シェーダーを開き、シェーダーの名前を変える。(今はCustomShaderbark)に変更。「bark」が入っていればどんな名前でもいいんだと思う。

2.依存性に関する1行を末尾に加える。(これは、ビルドインシェーダーをUnity公式から落としてきて、TreeCreatorBarkの該当する1行をそのままコピペしただけ)

でも結局、Unity標準のシェーダーのほうがなんか見た目がよかったので、それを使った。。。