Switches between upstream tasks, so that only one is chosen for execution.

## user

Container for user-defined plugs. Nodes should never make their own plugs here, so users are free to do as they wish.

Input connections to upstream nodes which must be executed before this node.

Input connections to nodes which must be executed after this node, but which don’t need to be executed before downstream nodes.

Output connections to downstream nodes which must not be executed until after this node.

## dispatcher

Container for custom plugs which dispatchers use to control their behaviour.

## dispatcher.batchSize

Maximum number of frames to batch together when dispatching tasks. If the node requires sequence execution batchSize will be ignored.

## dispatcher.immediate

Causes this node to be executed immediately upon dispatch, rather than have its execution be scheduled normally by the dispatcher. For instance, when using the LocalDispatcher, the node will be executed immediately in the dispatching process and not in a background process as usual.

When a node is made immediate, all upstream nodes are automatically considered to be immediate too, regardless of their settings.

## index

The index of the input task which is executed. A value of 0 chooses the first input, 1 the second and so on. Values larger than the number of available inputs wrap back around to the beginning.