Sequence Generator & Transformation Node (SequenceNode)
The Sequence Node (SequenceNode) creates, resamples, and structurally transforms numeric sequences (arrays up to 64 values) to drive multi-fixture tags, spatial gradients, and procedural chasers in Unilighter.
Open Add Node and search Sequence to list all 13 operations. Search an operation directly, such as Range or Pack XY, then click Range (Sequence) or Pack XY (Sequence), or highlight it and press Enter. The node starts with that operation and its input/output sockets ready, even before the graph is enabled.
With an empty search, Sequence creates the usual Manual operation. You can change Operation on the node afterward.
🔢 Overview & Sequence Architecture
In Unilighter Node Graphs, ordered numeric arrays are called sequences. A sequence can carry up to 64 normalized or raw numerical values. When routed into a tagged Device Node, each element in the sequence maps directly to the corresponding fixture head in the tag.
Scalar inputs connected to sequence inputs are automatically treated as one-element sequences ([value]). Every operation provides two simultaneous outputs:
- Sequence: The calculated array of numbers (
number-array). - Item: A single scalar value extracted from the sequence using the cyclic Item Index input.
🛠️ Operations Reference
| Operation | Inputs | Behavior |
|---|---|---|
| Manual | Item Index |
Stores an interactive, reorderable list of custom numerical values directly inside the graph. |
| Fill | Value, Length, Item Index |
Fills an array of the specified Length with a constant scalar Value. |
| Range | Start, End, Length, Item Index |
Generates evenly spaced numerical values from Start to End, inclusive. |
| Concat | A, B, Item Index |
Joins two sequences (or scalars) A and B into a combined sequence. |
| Reverse | Sequence, Item Index |
Inverts the sequence order from end to beginning. |
| Rotate | Sequence, Offset, Item Index |
Cyclically rotates sequence elements. Positive offsets shift values to the right. |
| Resize (Cycle) | Sequence, Length, Item Index |
Truncates or cyclically repeats values to match the target Length. Ideal for repeating fixture group patterns. |
| Resample | Sequence, Length, Item Index |
Resizes the sequence using nearest-neighbor step sampling while preserving original endpoints. |
| Interpolated Resample | Sequence, Length, Item Index |
Resizes the sequence using smooth linear interpolation while preserving original endpoints. Ideal for stretching short curves across arbitrary fixture counts. |
| Mirror | Sequence, Item Index |
Creates a palindromic reflection without duplicating the center element ([a, b, c] becomes [a, b, c, b, a]). |
| Seeded Shuffle | Sequence, Seed, Item Index |
Applies a deterministic Fisher-Yates shuffle. Identical input sequences and integer seeds always produce the exact same randomized ordering. |
💡 Lighting Design Workflows
1. Repeating Modular Fixture Patterns
When controlling a 24-fixture truss line using a 4-step intensity wave, wire the 4-step sequence into SequenceNode set to Resize (Cycle) with Length = 24. The 4-step pattern automatically tiles cyclically across all 24 lights.
2. Smooth Spatial Gradient Expansion
When designing an asymmetric tilt curve with 5 reference points, wire it into SequenceNode set to Interpolated Resample with Length matched to your tag's fixture count (e.g. 16 moving heads). The 5-point curve stretches into a smooth 16-point spatial arc without stair-stepping.
3. Extracting Single Fixture Taps
Use the Item Index socket to extract individual values from a moving sequence. Because the index wraps cyclically (index % length), driving it with a master fader or LFO creates continuous rotary selection across your rig.
🔌 Sockets Reference
| Socket | Direction | Data Type | Description |
|---|---|---|---|
| Sequence | Input / Output | Sequence |
Primary input sequence / calculated output array. |
| A / B | Input | Sequence |
Operand sequences for concatenation. |
| Length | Input | Number |
Output length (integer 0 – 64). |
| Offset | Input | Number |
Cyclic rotation shift distance (signed integer). |
| Seed | Input | Number |
Random seed for deterministic shuffle. |
| Item Index | Input | Number |
Cyclic index selector for single-item extraction. |
| Item | Output | Number |
Scalar value at the selected Item Index. |
Pack and Pack XY
Pack collects numbered item inputs (1 to N, up to 32) into one ordered sequence. Each input can be a scalar or a sequence; sequence inputs are flattened into the output. An unconnected item contributes its inline value.
Pack XY collects numbered pairs (1 X, 1 Y, 2 X, 2 Y, …) into separate X and Y sequence outputs. It has no Item output. Connect several XY pads to give tagged fixtures individual homes through Movement, or connect packed limits and sizes for independent motion bounds.