Motorway 0x2
Grab two values off the Motorway at once
- MOTORWAY ππ¨
- MOTORWAY ππ¨
- ANY (A)
- ANY (B)
Motorway 0x2 is the two-lane off-ramp of this pack's "pipe": the Motorway bus goes in, and two values come out, pulled by key. If your pair is something you reach for constantly - positive and negative conditioning, model and clip, latent and vae - this node saves you from placing two 0x1 ramps side by side.
For the uninitiated: agilly1989's ComfyUI_agilly1989_motorway is a data-bus implementation. Rather than dragging a dozen wires across the canvas, you store values on a MOTORWAY ππ¨ connection under string keys, then pull them back off where a normal node needs them. It's the same "fewer wires" impulse that gave us rgthree's Context nodes, but as a key-value bus instead of a bundled object.
How it works
Motorway NxB nodes have B keyed outputs. Type a key into ANY_(A)_key and ANY_(B)_key, and the matching values appear on the ANY (A) / ANY (B) outputs (both type *, so they wire into anything). The bus comes from MotorwayStart or any earlier ramp, and the node passes a clone of it along on the MOTORWAY ππ¨ output so the graph can keep riding.
Keys are matched as exact strings and SHA-256 hashed internally, and the bus is cloned at every node rather than mutated, so each downstream node sees a snapshot. Duplicate writes overwrite.
Inputs and outputs that matter
MOTORWAY ππ¨(required) - the bus.ANY_(A)_keyandANY_(B)_key(optional) - the two keys to pull. Leave one blank if you only need one.- Outputs:
MOTORWAY ππ¨,ANY (A),ANY (B).
The natural pair is positive/negative conditioning - in the pack's own Example.json, a 2x0 on-ramp stores both conditionings, and you could grab them with a single 0x2 on the way to the KSampler. model + clip, or latent + vae for a decode step, are just as common.
Installing
cd ComfyUI/custom_nodes
git clone https://github.com/agilly1989/ComfyUI_agilly1989_motorway
or ComfyUI Manager β "ComfyUI_agilly1989_motorway", then restart. Pure Python, no pip deps, no model files to chase.
Where people get burned
'MotorwayClass' object has no attribute 'hash_'- one of the keys isn't on the bus yet. Exact match, so check spelling and trailing spaces.- Both outputs empty - you probably typed the same key into both boxes and the value genuinely isn't there; or the write never happened upstream.
- Version whiplash. The pack is marked beta and the README warns flows break between releases. If a workflow you loaded suddenly has a disconnected 0x2, that's the pack, not you.
Honest take: 0x2 is the second-most useful ramp after 0x1, and it's what most pairs in a workflow want. Reach for the bigger sizes only when a real cluster of values travels together.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| MOTORWAY ππ¨ | MOTORWAY ππ¨ | β | |
| ANY_(A)_keyopt | STRING | β | |
| ANY_(B)_keyopt | STRING | β |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| MOTORWAY ππ¨ | MOTORWAY ππ¨ | β |
| ANY (A) | * | β |
| ANY (B) | * | β |