# HierarchyFlattened

> Represents a read-only array of HierarchyFlattenedNode over a HierarchyFlattened.Hierarchy. Used as an acceleration structure for query purposes.

## Definition

* **Type:** Class
* **Namespace:** [Unity.Hierarchy](/engine/6000.6/script-reference/unity/hierarchy.md)
* **Assembly:** UnityEngine.HierarchyCoreModule
* **Implements:** [IDisposable](https://learn.microsoft.com/dotnet/api/system.idisposable)

```csharp
public sealed class HierarchyFlattened : IDisposable
```

## Remarks

Querying information about nodes completes much faster than the same methods on HierarchyFlattened.Hierarchy because they are stored during the updates.

## Constructors

| Constructor                                                                                                                 | Description                                                                                                                    |
| --------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| [HierarchyFlattened(Unity.Hierarchy.Hierarchy)](/engine/6000.6/script-reference/unity/hierarchy/hierarchyflattened/ctor.md) | Constructs a new [HierarchyFlattened](/engine/6000.6/script-reference/unity/hierarchy/hierarchyflattened.md) from a hierarchy. |

## Properties

| Property                                                                                           | Description                                                                                                                        |
| -------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| [Count](/engine/6000.6/script-reference/unity/hierarchy/hierarchyflattened/count.md)               | The total number of flattened nodes.                                                                                               |
| [IsCreated](/engine/6000.6/script-reference/unity/hierarchy/hierarchyflattened/iscreated.md)       | Whether this object is valid and uses memory or not.                                                                               |
| [this\[\]](/engine/6000.6/script-reference/unity/hierarchy/hierarchyflattened/item.md)             | Gets the [HierarchyFlattenedNode](/engine/6000.6/script-reference/unity/hierarchy/hierarchyflattenednode.md) at a specified index. |
| [UpdateNeeded](/engine/6000.6/script-reference/unity/hierarchy/hierarchyflattened/updateneeded.md) | Determines if the flattened hierarchy needs an update.                                                                             |
| [Updating](/engine/6000.6/script-reference/unity/hierarchy/hierarchyflattened/updating.md)         | Whether the flattened hierarchy is currently updating.                                                                             |

## Methods

| Method                                                                                                                       | Description                                                                                                                                                                                                               |
| ---------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [AsReadOnlySpan](/engine/6000.6/script-reference/unity/hierarchy/hierarchyflattened/asreadonlyspan.md)                       | Returns a read-only span of all hierarchy flattened nodes in the hierarchy flattened.                                                                                                                                     |
| [Contains](/engine/6000.6/script-reference/unity/hierarchy/hierarchyflattened/contains.md)                                   | Determines if a specified node is in the hierarchy flattened.                                                                                                                                                             |
| [Dispose](/engine/6000.6/script-reference/unity/hierarchy/hierarchyflattened/dispose.md)                                     | Disposes this object to release its memory.                                                                                                                                                                               |
| [EnumerateChildren](/engine/6000.6/script-reference/unity/hierarchy/hierarchyflattened/enumeratechildren.md)                 | Gets an enumerable of children [HierarchyFlattenedNode](/engine/6000.6/script-reference/unity/hierarchy/hierarchyflattenednode.md) for the specified node.                                                                |
| [GetChild](/engine/6000.6/script-reference/unity/hierarchy/hierarchyflattened/getchild.md)                                   | Gets the child node at the specified index of a hierarchy node.                                                                                                                                                           |
| [GetChildIndex](/engine/6000.6/script-reference/unity/hierarchy/hierarchyflattened/getchildindex.md)                         | Gets the index of a hierarchy node in its parent's children list.                                                                                                                                                         |
| [GetChildrenCount](/engine/6000.6/script-reference/unity/hierarchy/hierarchyflattened/getchildrencount.md)                   | Gets the number of child nodes that a hierarchy node has.                                                                                                                                                                 |
| [GetChildrenCountRecursive](/engine/6000.6/script-reference/unity/hierarchy/hierarchyflattened/getchildrencountrecursive.md) | Gets the number of child nodes that a hierarchy node has, including children of children.                                                                                                                                 |
| [GetDepth](/engine/6000.6/script-reference/unity/hierarchy/hierarchyflattened/getdepth.md)                                   | Determines the depth of a node.                                                                                                                                                                                           |
| [GetEnumerator](/engine/6000.6/script-reference/unity/hierarchy/hierarchyflattened/getenumerator.md)                         | Gets the [HierarchyFlattenedNode](/engine/6000.6/script-reference/unity/hierarchy/hierarchyflattenednode.md) enumerator.                                                                                                  |
| [GetNextSibling](/engine/6000.6/script-reference/unity/hierarchy/hierarchyflattened/getnextsibling.md)                       | Gets the next sibling of a node.                                                                                                                                                                                          |
| [GetParent](/engine/6000.6/script-reference/unity/hierarchy/hierarchyflattened/getparent.md)                                 | Gets the parent of a hierarchy node.                                                                                                                                                                                      |
| [IndexOf](/engine/6000.6/script-reference/unity/hierarchy/hierarchyflattened/indexof.md)                                     | Gets the zero-based index of a specified node.                                                                                                                                                                            |
| [Update](/engine/6000.6/script-reference/unity/hierarchy/hierarchyflattened/update.md)                                       | Updates the flattened hierarchy and requests a rebuild of the list of [HierarchyFlattenedNode](/engine/6000.6/script-reference/unity/hierarchy/hierarchyflattenednode.md) from the HierarchyFlattened.Hierarchy topology. |
| [UpdateIncremental](/engine/6000.6/script-reference/unity/hierarchy/hierarchyflattened/updateincremental.md)                 | Updates the flattened hierarchy incrementally.                                                                                                                                                                            |
| [UpdateIncrementalTimed](/engine/6000.6/script-reference/unity/hierarchy/hierarchyflattened/updateincrementaltimed.md)       | Incrementally updates the flattened hierarchy until a time limit is reached.                                                                                                                                              |

## Structs

| Struct                                                                                                            | Description                                                                                                           |
| ----------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| [HierarchyFlattened.Enumerator](/engine/6000.6/script-reference/unity/hierarchy/hierarchyflattened/enumerator.md) | An enumerator of [HierarchyFlattenedNode](/engine/6000.6/script-reference/unity/hierarchy/hierarchyflattenednode.md). |
