# ToggleSelectedRecursive

> Toggles the selection state of the specified node and all its ancestors or descendants recursively.

## Definition

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

## ToggleSelectedRecursive(HierarchyNode, HierarchyTraversalDirection)

Toggles the selection state of the specified node and all its ancestors or descendants recursively.

```csharp
public void ToggleSelectedRecursive(in HierarchyNode node, HierarchyTraversalDirection direction = HierarchyTraversalDirection.Children)
```

### Parameters

**** (\[HierarchyNode]\(/engine/6000.7/script-reference/unity/hierarchy/hierarchynode)): The [HierarchyNode](/engine/6000.7/script-reference/unity/hierarchy/hierarchynode.md) to toggle the selection state of.**** (\[HierarchyTraversalDirection]\(/engine/6000.7/script-reference/unity/hierarchy/hierarchytraversaldirection)): The direction of traversal.

## ToggleSelectedRecursive(ReadOnlySpan\<HierarchyNode>, HierarchyTraversalDirection)

Toggles the selection state of the specified nodes and all their ancestors or descendants recursively.

```csharp
public void ToggleSelectedRecursive(ReadOnlySpan<HierarchyNode> nodes, HierarchyTraversalDirection direction = HierarchyTraversalDirection.Children)
```

### Parameters

**** (\[ReadOnlySpan\<HierarchyNode>]\(https\://learn.microsoft.com/dotnet/api/system.readonlyspan-1)): The [HierarchyNode](/engine/6000.7/script-reference/unity/hierarchy/hierarchynode.md)s to toggle the selection state of.**** (\[HierarchyTraversalDirection]\(/engine/6000.7/script-reference/unity/hierarchy/hierarchytraversaldirection)): The direction of traversal.
