The **Splitter** sends a signal to one selected output branch. Use one state control to choose lighting looks, processing variations, or different fixtures, and let inactive branches release their device control.

<img src="https://unilighter.cc/info/user/pages/02.docs/14.node-graphs/splitter/splitter_42eff550.png" alt="Splitter with two outputs, branch disabling enabled and Output 1 selected" width="290" height="339" style="width: 290px; max-width: 100%; height: auto;" />

## Inputs and settings

- **Switch** selects **Output 0**, **Output 1**, and so on. A negative, fractional, or out-of-range selector leaves every branch unselected.
- **Value** is the signal sent to the selected output. Without a wire, its editable constant defaults to `1`, allowing a selector-only setup.
- **Output Count** ranges from 1 to 16 and defaults to two. Reducing it removes wires attached to removed outputs.
- **Port Type** supports **Number**, **Sequence**, **Number or Sequence**, and **Audio**. The default is Number or Sequence. Sequence mode wraps a scalar constant into a one-item sequence; Audio needs a connected audio source. Disconnect signal connections before changing the type.

## Disable inactive branches

**Disable inactive branches** is on by default. Unselected branches become inactive through intermediate nodes, so their **Device** nodes release their own control. Other scenes, animations, node sources, or manual controls can then take over according to the usual [priority rules](https://unilighter.cc/info/for-ai/docs/priorities.md).

With the option off, unselected outputs stop sending updates, while downstream nodes continue their ordinary behavior using their last inputs. This can retain device control or keep an autonomous animation running visibly.

Activity is separate from the signal value: `0` is an active value, not a release command. Inactive nodes have a dashed border and inactive output sockets are dimmed. Their controls remain editable, and manual node disabling remains independent.

## Select different fixtures

Connect the output branches to separate [Device nodes](https://unilighter.cc/info/for-ai/docs/node-graphs/device.md), directly or through processing nodes. Select a branch with **Switch**. Its devices receive **Value**; devices belonging only to other branches release their control. This also works with tagged devices and fixtures with several heads.

A Device node becomes inactive as a whole when one of its connected inputs is inactive, releasing all modules controlled by that node. Use separate Device nodes when independent branches should control different modules of the same fixture.

## Select processing variations

```text
                    +-- Processing A --+
Signal --> Splitter                    Router (Auto) --> Device
                    +-- Processing B --+
```

Set the [Router](https://unilighter.cc/info/for-ai/docs/node-graphs/router.md) to **Selection: Auto** and keep inactive-branch disabling enabled. Only the Splitter needs a selector wire. The Router forwards the first active connected input and ignores inactive alternatives.

An ordinary processing node becomes inactive if any connected input is inactive. Merge mutually exclusive branches with Router instead of connecting them to different inputs of Math or Device. Group boundaries carry activity through their mapped ports, preserving independent internal paths; an internal node unrelated to those paths is not automatically disabled. Nested Splitters cannot reactivate an inactive outer branch.

## Animation timing

Switching branches does not restart animations. Autonomous animation clocks keep advancing while their branch is inactive, and their results are blocked from reaching devices. When selected again, an animation returns at its current phase. Delay history is retained: Frames continues sampling its last input, while Updates records only received Value updates.

Switching is immediate. It does not add fades, restart animation phases, or create saved scenes.

