void RecursiveSearchTree(ref ObjectTree tree, string parent, GameObject go) { string retVal = go.name; if (go.transform.childCount == 0) { tree.Add(parent, go.name); return; } else { var node = tree.Add(parent, go.name); for (int i = 0; i < go.transform.childCount; i++) { RecursiveSearchTree(ref tree, node.name, go.transform.GetChild(i).gameObject); } } return; }