> For the complete documentation index, see [llms.txt](https://docs.incari.com/incari-studio/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.incari.com/incari-studio/2022.1/toolbox/flow-control/branch.md).

# Branch

## Overview

![The Branch Node.](/files/GSaHZN1eetGpqOiArINm)

**Branch** triggers one of two **Pulses**, based on whether or not the `Input` value is *true* or *false*. Branching is a fundamental part of *conditional logic* and at a high level it basically means "*If this is true, do this; if not, do that*". Although the **Node** takes a single condition, this condition can be composed of multiple other conditions when used in conjunction with ***Relational Expression*** **Nodes** ([**Is Equal**](/incari-studio/2022.1/toolbox/flow-control/is-equal.md), [**Is Greater Equal**](/incari-studio/2022.1/toolbox/flow-control/is-greater-equal.md), and [**Is Less Equal**](/incari-studio/2022.1/toolbox/flow-control/is-less-equal.md)), ***Logical Operator*** **Nodes** ([**AND**](/incari-studio/2022.1/toolbox/math/boolean/and.md), [**OR**](/incari-studio/2022.1/toolbox/math/boolean/or.md), and [**Negate**](/incari-studio/2022.1/toolbox/math/boolean/negate.md)), and other **Branch Nodes**.

[**Scope**](/incari-studio/2022.1/toolbox/overview.md#scopes): **Project**, **Scene**, **Function**, **Prefab**.

## Attributes

![The Branch Node Attributes.](/files/1PiAhETfAWBtWGH7uDdq)

### Inputs

| Attribute       | Type     | Description                                                          |
| --------------- | -------- | -------------------------------------------------------------------- |
| `Default Value` | **Bool** | The default value, if one is not provided in the `Input` **Socket.** |

## Inputs

| Input             | Type      | Description                                                                                  |
| ----------------- | --------- | -------------------------------------------------------------------------------------------- |
| *Pulse Input* (►) | **Pulse** | A standard input **Pulse**, to trigger the execution of the **Node**.                        |
| `Input`           | **Bool**  | The *true* or *false* condition to determine which of the two output **Pulses** is executed. |

## Outputs

| Output        | Type      | Description                                                 |
| ------------- | --------- | ----------------------------------------------------------- |
| `OnTrue` (►)  | **Pulse** | The **Pulse** that will be triggered if `Input` is *true*.  |
| `OnFalse` (►) | **Pulse** | The **Pulse** that will be triggered if `Input` is *false*. |

## External Links

* [*Conditional (computer programming)*](https://en.wikipedia.org/wiki/Conditional_%28computer_programming%29) on Wikipedia.
