public static T[] FindObjectOfTypeIncludeInactivated() where T : Component{
List result = new List();
foreach( GameObject rootObj in UnityEngine.SceneManagement.SceneManager.GetActiveScene().GetRootGameObjects() ) {
Component[] comps = rootObj.GetComponentsInChildren(typeof(T), true);
T[] childObject = Array.ConvertAll(comps, (x) => (T)x);
result.AddRange(childObject);
}
return result.ToArray();
}
In my case this was helpful. (It works on 5.4f +)
↧