ゲームが作れるようになるまでがんばる日記

ゲーム制作のことを中心にゲームに関することを書いています

標準アセットのスクリプトから自作のクラスを参照する

標準アセットのスクリプトから、自分で作成したクラスが参照できない原因がわかった。
Unityでは特定の名前のフォルダは扱いが特殊となり、コンパイル順が変わってくる。標準アセットのフォルダ名「Standard Assets」に含まれるスクリプトは自分で作成したスクリプトよりも先にコンパイルされる。そのため、自分で作成したクラスはまだコンパイルされていないので参照することができない。
特殊フォルダーとスクリプトのコンパイル順 - Unity マニュアル
対処としては参照するスクリプトを同じフォルダに置くということ。
今回は変更している標準アセットのスクリプトを自分が追加したスクリプトと同じフォルダへと移動した。これで自作のクラスも参照することができるようになった。
このことがわかるまでちょっと時間がかかった。検索してもなかなか答えが見つからず、結局、海外のサイトで同じ質問があって、それでわかった。検索の仕方が下手だったのか、それともUnityでスクリプトを書く場合には常識であえて書くまでも無いことだったのだろうか。いずれにしてもやっとこれで自作のクラスでいろいろと試すことができる。
c# - How do I reference a class in MyScripts from within another namespace (Unity)? - Stack Overflow