# Detach(in HierarchyNode)

> Severs a hierarchy node from its parent, without removing it from the hierarchy.

## Definition

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

## Detach(HierarchyNode)

```csharp
public bool Detach(in HierarchyNode node)
```

### Parameters

**** (\[HierarchyNode]\(/engine/6000.6/script-reference/unity/hierarchy/hierarchynode)): The hierarchy node to detach.

### Returns

| Type                                                          | Description                                                        |
| ------------------------------------------------------------- | ------------------------------------------------------------------ |
| [bool](https://learn.microsoft.com/dotnet/api/system.boolean) | `true` if the command was appended to the list, `false` otherwise. |

### Remarks

A detached node keeps its own children but is no longer reachable from [Hierarchy.Root](/engine/6000.6/script-reference/unity/hierarchy/hierarchy/root.md). Nothing reclaims it: the caller must either re-attach it with [HierarchyCommandList.SetParent](/engine/6000.6/script-reference/unity/hierarchy/hierarchycommandlist/setparent.md) or delete it with [HierarchyCommandList.Remove](/engine/6000.6/script-reference/unity/hierarchy/hierarchycommandlist/remove.md).
