Operation
Nodes that test values to split the flow, count, or select. 11 in total. Where Math “changes values”, Operation decides “which way to send them”.
Logical operations (4)
All of them take a float and return 1 or 0.
| Node | Condition for the result to be 1 |
|---|---|
| And | A and B are both 1.0 or greater |
| Or | Either A or B is 1.0 or greater |
| Xor | Only one of A and B is 1.0 or greater |
| Not | A is less than 1.0 |
The true/false boundary is 1.0, not 0. Because the test is
A >= 1.0f, 0.5 counts as “false”. If you plug in a continuous 0 to 1 value (the output of a Slider or an LFO) directly, it is only true at the instant it reaches 1.0. Put a Ceil or Round from Math in front of it, or state the threshold explicitly with IFFilter.
Not’s B port is unused as well. It only appears because the node inherits the binary operation base class; the implementation only looks at A (the same situation as Abs in Math).
Testing and branching
IFFilter
Compares A and B and switches the output destination based on the result.
Pick the comparison type from the dropdown on the node: > < == != >= <=.
| Port | What it is |
|---|---|
True Output / False Output | Depending on the result, both emit the value of A |
True Trigger / False Trigger | A trigger fires at the same moment |
What comes out is always A. B is only used for the comparison. It will not behave as “send B when the condition is met”, so when you want to switch the value itself, use Switch.
==/!=are floating-point comparisons, so they are evaluated withMathf.Approximately(approximate match).
The test runs on a change to A or B, on Trigger, or on a change to the condition.
Switch
Index selects one of the four inputs A / B / C / D and sends it to Selected.
Index is processed as Mathf.Clamp(Mathf.FloorToInt(Index), 0, 3), so
decimals are rounded down and out-of-range values are clamped to the ends (-5 gives A, 99 gives D).
Plugging a Counter’s output straight in causes no accidents.
Counting and timing
Counter
Counts every time Count Trigger arrives and emits an integer to Count Output.
Reset Trigger returns it to Min Value (not to 0).
If Max is smaller than Min, it counts down. The counting direction is determined by which of Max and Min is larger.
When Loop is OFF, the value does not stop. Out-of-range handling is only implemented for the looping case, so with Loop OFF it keeps increasing past Max. If you want it to stop at an upper limit, place Min / Max from Math after it to clamp the value.
Init Trigger
Fires once, Delay seconds after the project loads or the node is created. Use it as the entry point for pushing in initial values or resetting state. Delay exists to avoid the few messy frames right after loading; negative values are rounded to 0.
Random
When Trigger arrives, it emits one random number from the range A to B.
Moving A or B re-rolls the value too. Because it inherits the binary operation base class, the output also updates the moment an input changes. If you want it to roll only on Trigger, keep A / B at values that do not move.
Strings and media
Combine
Joins two strings with Separator and appends Suffix at the end.
When B is empty, the Separator is not added either (you get just A and Suffix).
Useful for assembling file paths.
MediaBrowserIndex
For the MediaBrowser folder selected in the dropdown, it emits the
file path at position Index and the item count of that folder.
Combined with Counter, you can build a flow that switches clips on every beat.
Related
- Arithmetic, rounding and interpolation are in Math
- StepSequencer has moved to the Tempo category, and Easing / Curve / ADSR / LFO to the Signal category











