[Unity] 非アクティブなゲームオブジェクトを取得する
スクリプト上から自分の子階層にあるゲームオブジェクトをFindで取得する場合、以下のようにスクリプトを記述します。
var obj = GameObject.Find("GameObject");
しかし、上記の検索で取得できるのはアクティブになっているゲームオブジェクトのみで、非アクティブなゲームオブジェクトは取得できません。
実は子階層にあるゲームオブジェクトに限り、非アクティブでも取得する方法があります。
以下のように自身のtransformフィールドからFindメソッドを実行して取得します。
var obj = transform.Find("GameObject").gameObject;
しかし、この方法はパフォーマンスが若干落ちるので、よほどでない限り使用しないほうが良いでしょう。