using UnityEngine; public class Util { public static GameObject FindChild(GameObject go, string name = null, bool recursive = false) { Transform transform = FindChild(go, name, recursive); if (transform == null) { return null; } return transform.gameObject; } public static T FindChild(GameObject go, string name = null, bool recursive = false) where T : UnityEngine.Object { if (go == null) { return null; } if (recursive == false) { for (int i = 0; i < go.transform.childCount; i++) { Transform transform = go.transform.GetChild(0); if (string.IsNullOrEmpty(name) || transform.name == name) { T component = transform.GetComponent(); if (component != null) { return component; } } } } else { foreach (T component in go.GetComponentsInChildren()) { if (string.IsNullOrEmpty(name) || component.name == name) { return component; } } } return null; } }