以下の内容はhttps://baba-s.hatenablog.com/entry/2019/03/13/214323より取得しました。


【Unity】Hierarchy に存在するすべてのゲームオブジェクトを取得する方法

方法1

using System.Linq;
using UnityEngine;

...

var list = Resources
    .FindObjectsOfTypeAll<GameObject>()
    .Where( c => c.scene.isLoaded )
    .Where( c => c.hideFlags == HideFlags.None )
;

こちらの方法の場合、すべてのゲームオブジェクトを取得できますが、
ゲームオブジェクトの並びは順不同になります

方法2

using System.Linq;
using UnityEngine;

...

var list = GameObject
    .FindObjectsOfType<GameObject>()
    .Where( c => c.hideFlags == HideFlags.None )
    .Where( c => c.transform.parent == null )
    .SelectMany( c => c.GetComponentsInChildren<Transform>( true ) )
    .Select( c => c.gameObject )
;

こちらの方法の場合、ルートに存在するゲームオブジェクトが非アクティブの場合、
そのゲームオブジェクトと子オブジェクトは取得できないですが、
子オブジェクトの並びは Hierarchy と同じになります

参考サイト様




以上の内容はhttps://baba-s.hatenablog.com/entry/2019/03/13/214323より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14