Motorway 2x5
Motorway 2x5
- MOTORWAY ππ¨
- ANY_(A)
- ANY_(B)
- MOTORWAY ππ¨
- ANY (A)
- ANY (B)
- ANY (C)
- ANY (D)
- ANY (E)
Motorway 2x5 is the pack's "two in, five out" distribution node - two values join the bus, and five named values come off it. Of those five outputs, two echo what you just put in and three are free taps into anything already sitting on the bus. If you're feeding several branches from one small set of shared values, this is the shape that keeps the canvas from turning into a plate of spaghetti.
It comes from agilly1989/ComfyUI_agilly1989_motorway, a beta "pipe" pack by solo dev agilly1989. Same idea as rgthree's Context nodes or Impact Pack pipes - bundle values onto one wire instead of dragging them everywhere - but the transport is a MotorwayClass bus object passed along a single MOTORWAY ππ¨ connection. That connection is the required input on every node and the first output, so the route continues through as many junctions as you like. Start with MotorwayStart; without it there's no bus.
How it works
Like every Motorway node, this one is a write-and-read junction governed entirely by keys. Plug values into ANY_(A) and ANY_(B), name them in ANY_(A)_key and ANY_(B)_key, and they're stored on the bus. Because outputs outnumber inputs, the node carries five key slots - ANY_(A)_key through ANY_(E)_key - matching the larger of the two sides:
- inputs
ANY_(A)andANY_(B)with keys - read-only key slots
ANY_(C)_key,ANY_(D)_key,ANY_(E)_key - the required
MOTORWAY ππ¨bus input - outputs
MOTORWAY ππ¨,ANY (A)throughANY (E)
Keys A and B pull double duty: each names its input and reads its own output. The C, D, E slots are the reason you chose five lanes - they're pure readers. Type the name of anything that's been written upstream (a seed, a model, a prompt you parked a 2x0 earlier) into those key boxes and their outputs light up with the value.
The storage layer is a sha256 hash per key (your seed becomes an attribute like hash_9c2aβ¦), which is why missing-key errors read as 'MotorwayClass' object has no attribute 'hash_'. Same key written twice anywhere on the route overwrites - the bus keeps only the latest value per name.
Installing
cd ComfyUI/custom_nodes
git clone https://github.com/agilly1989/ComfyUI_agilly1989_motorway
then restart ComfyUI, or install via ComfyUI Manager by searching ComfyUI_agilly1989_motorway. No pip dependencies, no model downloads; pure Python means clone-and-restart is the entire install.
Common issues
- The
hash_error is a key that was never written or is mistyped. Keys are exact strings - capitalization and spaces count. - Every key slot must be filled, because an empty
_keymeans that output is never produced and wiring anything into it errors. Don't skip a_keybox. - Only key connected inputs. An unconnected input with a key writes
Noneover that name and silently wipes a value you might need.
It's a beta pack, author's warning included, but 2x5 is a genuinely nice middle ground when two values in and five taps out is what your graph actually wants.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| MOTORWAY ππ¨ | MOTORWAY ππ¨ | β | |
| ANY_(A)opt | * | β | |
| ANY_(B)opt | * | β | |
| ANY_(A)_keyopt | STRING | β | |
| ANY_(B)_keyopt | STRING | β | |
| ANY_(C)_keyopt | STRING | β | |
| ANY_(D)_keyopt | STRING | β | |
| ANY_(E)_keyopt | STRING | β |
Outputs (6)
| Name | Type | Description |
|---|---|---|
| MOTORWAY ππ¨ | MOTORWAY ππ¨ | β |
| ANY (A) | * | β |
| ANY (B) | * | β |
| ANY (C) | * | β |
| ANY (D) | * | β |
| ANY (E) | * | β |