
unityでプログラムエラーの1つが
NullReferenceException: Object reference not set to an instance of an object
(ヌル参照例外:オブジェクト参照がオブジェクトのインスタンスに設定されていません)
噛み砕いて説明
プログラムの中で「箱」を用意したけど、その中身を入れ忘れている状態を想像してください。
●変数(オブジェクト参照) はある
●でも 中身(実際のインスタンス) がない
●その状態で中身を使おうとすると Unity が怒る というのがこのエラーです。
【解決法】
1)Inspector でアタッチしてない
Instectorで実態をアタッチしていないと「無いよ?」ということでエラーになる。
2)Start()ではなくAwake()を使ってみる。
Start()は、オブジェクトが用意出来てから呼ばれる関数。 しかし「これでは遅い」場合がある。 オブジェクトが出来る前に呼ばれる「Awake()」を使うと解決する場合がある。
例:Init()なんかは、Startより早く呼ばれる。つまりInit()を使用する場合には、もっと早く実行されるAwake()じゃないとついていけないのだ。