public virtual void Destroy() { if (HierarchyChildren.Count > 0) { GameObject[] hc = HierarchyChildren.ToArray(); foreach (GameObject g in hc) { g.Destroy(); } } ParentScene.Remove(this); }