Category: ⚙️ System
![]()
Combines two lists of blocks (A, B) into a third list using a configurable Behavior (set operations, picking, navigation up/down the hierarchy, grabbing detection, etc.). Output Count fires after every recompute and is also the easiest way to watch when A or B changes.
Block Compare is the swiss-army knife of dynamic patching: it takes one or two block lists in input and produces a derived list in output following the selected Behavior. The block re-evaluates automatically whenever A, B or Behavior change; connect a jolt to the Manual Trigger to control execution explicitly. Output Count emits the size of the result list and re-fires every time the list changes (useful as a "watcher" on dynamic inputs).
Use cases: trimming a raycast result, finding which blocks were added or removed since last frame, walking up to the parent Device of a block, finding the player who grabbed an object, or storing a list of references that survives input changes.
Behavior options:
current - previous) or to filter blocks out (e.g. all enemies except the boss).The B input only appears for behaviors that need it (==, A-B, Shared, Join). For all others, B is hidden and any connections to it are dropped.
See the Dynamic Patching wiki page for full examples.
| Name | Type | Description |
|---|---|---|
| A | Tag Input | Primary list of blocks. Most behaviors only consider A (Last, First, Device, Parent, Grabber, Store, Index). |
| B | Tag Input | Secondary list of blocks. Only visible and used by the set-style behaviors: ==, A-B, Shared and Join. |
| Manual Trigger | Jolt Input | If connected: only re-evaluates when this jolt fires. Its value is also used as the index when Behavior is set to "Index". If not connected: re-evaluates automatically whenever A or B change. |
| Clear | Jolt Input | Empties the Output. Mainly used by the "Store" behavior to reset the accumulated list. |
| Name | Type | Description |
|---|---|---|
| Output Count | Jolt Output | Number of blocks currently in the Output list. Re-fired every time the result changes, so it can also be used as a "watcher" on the A/B inputs. |
| Output | Tag Output | Resulting list of blocks produced by the selected Behavior. Connect to a block_foreach, to another Tag input, or to a get_name for debugging. |
| Name | Type | Description |
|---|---|---|
| Behavior | Selector | How to combine A and B into the Output. See the long description for the full list of behaviors. |