# IGroupCondition

> Interface for a condition that groups other conditions.

## Definition

* **Type:** Interface
* **Namespace:** [Unity.GraphToolkit.Editor](/engine/6000.7/script-reference/unity/graphtoolkit/editor.md)
* **Assembly:** UnityEditor

```csharp
public interface IGroupCondition : ICondition
```

## Remarks

A group condition combines its nested conditions with the logical operation specified by [IGroupCondition.Operation](/engine/6000.7/script-reference/unity/graphtoolkit/editor/igroupcondition/operation.md). Nested conditions can themselves be group conditions, forming a tree that expresses arbitrary boolean logic. To traverse the tree, enumerate [IGroupCondition.Get](/engine/6000.7/script-reference/unity/graphtoolkit/editor/igroupcondition/get.md) and check whether each element is itself an [IGroupCondition](/engine/6000.7/script-reference/unity/graphtoolkit/editor/igroupcondition.md). This interface is implemented by Unity and is not intended to be implemented by user code.

## Properties

| Property                                                                                            | Description                                             |
| --------------------------------------------------------------------------------------------------- | ------------------------------------------------------- |
| [Count](/engine/6000.7/script-reference/unity/graphtoolkit/editor/igroupcondition/count.md)         | The number of conditions nested in this group.          |
| [Operation](/engine/6000.7/script-reference/unity/graphtoolkit/editor/igroupcondition/operation.md) | The logical operation applied to the nested conditions. |

## Methods

| Method                                                                                        | Description                                                 |
| --------------------------------------------------------------------------------------------- | ----------------------------------------------------------- |
| [Add](/engine/6000.7/script-reference/unity/graphtoolkit/editor/igroupcondition/add.md)       | Adds an existing condition to this group.                   |
| [Clear](/engine/6000.7/script-reference/unity/graphtoolkit/editor/igroupcondition/clear.md)   | Removes all conditions from this group.                     |
| [Get](/engine/6000.7/script-reference/unity/graphtoolkit/editor/igroupcondition/get.md)       | Retrieves the conditions nested in this group.              |
| [Insert](/engine/6000.7/script-reference/unity/graphtoolkit/editor/igroupcondition/insert.md) | Inserts a condition into this group at the specified index. |
| [Remove](/engine/6000.7/script-reference/unity/graphtoolkit/editor/igroupcondition/remove.md) | Removes a condition from this group.                        |

## Inheritance

**Inherited Members:**

* [ICondition.ID()](/engine/6000.7/script-reference/unity/graphtoolkit/editor/icondition/id.md)
* [ICondition.Rule()](/engine/6000.7/script-reference/unity/graphtoolkit/editor/icondition/rule.md)
* [ICondition.Icon()](/engine/6000.7/script-reference/unity/graphtoolkit/editor/icondition/icon.md)
