CollectDeepHierarchy(Object[])
Collect all objects in the hierarchy rooted at each of the given objects.
Read time 1 minuteLast updated 10 days ago
Definition
- Type: Method
- Namespace: UnityEditor
- Assembly: UnityEditor.CoreModule
public static Object[] CollectDeepHierarchy(Object[] roots)
Parameters
Array of objects where the search will start.
Returns
Type | Description |
|---|---|
| Object[] | Array of objects heirarchically attached to the search array. |
Remarks
This is most useful for linearizing entire GameObject hierarchies including all their components.
Note that the traversal will not include assets referenced from within the hierarchy. For example, having a MeshFilter component in the hierarchy will not cause the referenced Mesh to be included in the resulting list.
Examples
using UnityEngine;using UnityEditor;public class CollectHierarchyExample : MonoBehaviour{ void Start() { // Create two GameObjects GameObject parent = new GameObject(); GameObject child = new GameObject(); Object[] roots = new Object[] { parent }; // Name them parent.name = "Parent"; child.name = "Child"; // Make one a child of the other. child.transform.parent = parent.transform; // Collect entire hierarchy Object[] result = EditorUtility.CollectDeepHierarchy(roots); // Dump results. Will log four objects to the console; // two GameObjects ("Parent" and "Child") and two Transform // components (one belonging to "Parent" and one belonging to // "Child") foreach (Object obj in result) Debug.Log(obj); }}