# HierarchyNodeTypeHandlerBase

> Provides a base class for hierarchy node type handlers.

## Definition

* **Type:** Class
* **Namespace:** [Unity.Hierarchy](/engine/6000.7/script-reference/unity/hierarchy.md)
* **Assembly:** UnityEngine.HierarchyCoreModule

```csharp
public abstract class HierarchyNodeTypeHandlerBase
```

## Constructors

| Constructor                                                                                                            | Description                                                                                                                       |
| ---------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| [HierarchyNodeTypeHandlerBase()](/engine/6000.7/script-reference/unity/hierarchy/hierarchynodetypehandlerbase/ctor.md) | Constructs a new [HierarchyNodeTypeHandlerBase](/engine/6000.7/script-reference/unity/hierarchy/hierarchynodetypehandlerbase.md). |

## Properties

| Property                                                                                                   | Description                                                                                                                           |
| ---------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| [CommandList](/engine/6000.7/script-reference/unity/hierarchy/hierarchynodetypehandlerbase/commandlist.md) | Get the [HierarchyCommandList](/engine/6000.7/script-reference/unity/hierarchy/hierarchycommandlist.md) associated with this handler. |
| [Hierarchy](/engine/6000.7/script-reference/unity/hierarchy/hierarchynodetypehandlerbase/hierarchy.md)     | Get the [Hierarchy](/engine/6000.7/script-reference/unity/hierarchy/hierarchy.md) owning this handler.                                |

## Methods

| Method                                                                                                                           | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| -------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Dispose](/engine/6000.7/script-reference/unity/hierarchy/hierarchynodetypehandlerbase/dispose.md)                               | Disposes this hierarchy node type handler to free up resources in the derived class.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| [GetEntityIdsFromNodes](/engine/6000.7/script-reference/unity/hierarchy/hierarchynodetypehandlerbase/getentityidsfromnodes.md)   | Gets the [EntityId](/engine/6000.7/script-reference/unityengine/entityid.md) corresponding to each [HierarchyNode](/engine/6000.7/script-reference/unity/hierarchy/hierarchynode.md) in `nodes`. Slots already set to a non-[EntityId.None](/engine/6000.7/script-reference/unityengine/entityid/none.md) value must be skipped.                                                                                                                                                                                                                                    |
| [GetNodeFromEntityId](/engine/6000.7/script-reference/unity/hierarchy/hierarchynodetypehandlerbase/getnodefromentityid.md)       | Gets the [HierarchyNode](/engine/6000.7/script-reference/unity/hierarchy/hierarchynode.md) corresponding to the given [EntityId](/engine/6000.7/script-reference/unityengine/entityid.md).                                                                                                                                                                                                                                                                                                                                                                          |
| [GetNodesFromEntityIds](/engine/6000.7/script-reference/unity/hierarchy/hierarchynodetypehandlerbase/getnodesfromentityids.md)   | Gets the [HierarchyNode](/engine/6000.7/script-reference/unity/hierarchy/hierarchynode.md) corresponding to each [EntityId](/engine/6000.7/script-reference/unityengine/entityid.md) in `entityIds`. Slots already set to a non-null value must be skipped.                                                                                                                                                                                                                                                                                                         |
| [GetNodeType](/engine/6000.7/script-reference/unity/hierarchy/hierarchynodetypehandlerbase/getnodetype.md)                       | Retrieves the hierarchy node type for this hierarchy node type handler.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| [GetNodeTypeName](/engine/6000.7/script-reference/unity/hierarchy/hierarchynodetypehandlerbase/getnodetypename.md)               | Get the type name of this hierarchy node type handler.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| [GetUIDInfo](/engine/6000.7/script-reference/unity/hierarchy/hierarchynodetypehandlerbase/getuidinfo.md)                         | Returns the UID serialization info for this handler. A [HierarchyUIDInfo.Size](/engine/6000.7/script-reference/unity/hierarchy/hierarchyuidinfo/size.md) of 0 means this handler does not support UID serialization and its nodes will be skipped. UID serialization is used in Hierarchy view state serialization and Undo/Redo operations.                                                                                                                                                                                                                        |
| [Initialize](/engine/6000.7/script-reference/unity/hierarchy/hierarchynodetypehandlerbase/initialize.md)                         | Initializes this hierarchy node type handler.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| [SearchBegin](/engine/6000.7/script-reference/unity/hierarchy/hierarchynodetypehandlerbase/searchbegin.md)                       | Called when a new search query begins, for the view model running the search.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| [SearchEnd](/engine/6000.7/script-reference/unity/hierarchy/hierarchynodetypehandlerbase/searchend.md)                           | Called when a search query ends, for the view model that was running the search.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| [SetSearchAlwaysVisible](/engine/6000.7/script-reference/unity/hierarchy/hierarchynodetypehandlerbase/setsearchalwaysvisible.md) | Sets whether nodes of this type should always be visible during search when descendants match.                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| [UndoRedoSupported](/engine/6000.7/script-reference/unity/hierarchy/hierarchynodetypehandlerbase/undoredosupported.md)           | Determines whether this hierarchy node type handler supports undo/redo operations. When doing certain operations that modify the hierarchy, for example reordering nodes with mixed-types, the hierarchy needs to know if the involved node type handlers support undo/redo in order to determine whether to create an undo operation for the changes specific to the hierarchy. Return `true` if this node type handler has underlying data that supports undo/redo. Return `false` if this node type handler has underlying data that does not support undo/redo. |
| [UpdateBegin](/engine/6000.7/script-reference/unity/hierarchy/hierarchynodetypehandlerbase/updatebegin.md)                       | Called when the hierarchy update begins.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| [UpdateEnd](/engine/6000.7/script-reference/unity/hierarchy/hierarchynodetypehandlerbase/updateend.md)                           | Called when the hierarchy update ends.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| [ViewModelPostSetState](/engine/6000.7/script-reference/unity/hierarchy/hierarchynodetypehandlerbase/viewmodelpostsetstate.md)   | Called after the [HierarchyViewModel](/engine/6000.7/script-reference/unity/hierarchy/hierarchyviewmodel.md) finishes setting its state.                                                                                                                                                                                                                                                                                                                                                                                                                            |
| [ViewModelPostUpdate](/engine/6000.7/script-reference/unity/hierarchy/hierarchynodetypehandlerbase/viewmodelpostupdate.md)       | Called after the HierarchyViewModel finishes being updated.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| [WriteUIDs](/engine/6000.7/script-reference/unity/hierarchy/hierarchynodetypehandlerbase/writeuids.md)                           | Serializes stable identifiers for the given nodes into `outUIDs`. The buffer is pre-zeroed; write only slots that have a valid identity. Unwritten slots are treated as unresolvable during restore.                                                                                                                                                                                                                                                                                                                                                                |
