disable な GameObject は FindWithTag/GetComponent できない
disable が設定された GameObject は、FindWithTag
, GetComponent
, 他に Camera.main
などによって、取得することができません。
disable が設定される可能性がある GameObject は、disable が設定されるよりも前に参照を保持しておく必要があります。
例えば次のような場合です。少々冗長なコードですが、実際には Camera.main で取得することができます。
Camera mainCamera = GameObject.FindWithTag("MainCamera").GetComponentInChildren<Camera>();
このとき mainCamera が何かしらの実行によって disabled になったとしても、mainCamera から参照が途絶えることはありません。