Nodes/Orion4D_MetaNode/🚌 Variable Bus (Get)
ComfyUI Node

🚌 Variable Bus (Get)

Pull a Value Out of Thin Air (Somewhere Else on the Graph)

By orion4dΒ·Created 5 months agoΒ·Updated 5 months agoΒ· 5
🚌 Variable Bus (Get)
    • output
    β—„variable_namemy_varβ–Ί
    β—„data_type*β–Ί
    β—„execution_phase1β–Ί
    β—„dependencyβ€”β–Ί

    The Variable Bus is this pack's "wireless" answer to one of ComfyUI's most annoying problems: the graph gets so tangled that carrying a value across it means dragging a wire over half your workflow. 🚌 Variable Bus (Get) is the receiving end - it pulls data out of a shared in-memory bus by name, with no visible cable to the node that wrote it.

    It pairs with Variable Bus (Set). A Set stores a value under a logical name; a Get retrieves it. The two link up on a triplet that has to match on both sides: variable_name (e.g. my_image or main_prompt), data_type (from a dropdown: *, IMAGE, LATENT, MASK, STRING, INT, FLOAT, MODEL, CONDITIONING, CLIP, VAE, LIST), and execution_phase (1–8, which orders multiple Sets and Gets sharing a name so you can have staged writes).

    The magic is in the auto-connection. JavaScript watches for a Set and a Get sharing the same triplet and silently creates a real dependency link between them - Set's sync output to Get's dependency input. The link is invisible by default ("wireless bus" effect) but it's genuinely in the graph, which is what guarantees ComfyUI executes the Set before the Get. Change any part of the triplet and the link is remade to the correct Set. dependency is the one optional input you'll see appear; it's the INT tick the Set emitted.

    Outputs. Just one: output, dynamically typed to match whatever data_type you declared. Wire it into anything that accepts that type. If the variable hasn't been set yet - wrong name, typo, phase mismatch - you don't get a crash: the node emits a clean ExecutionBlocker, which stops that downstream flow without taking down the run. That's the polite failure mode, and it's the one to watch for when something downstream is mysteriously silent.

    Where people get burned: the triplet must match exactly, and case matters. my_image β‰  My_Image. Most "the Get is empty" reports are a typo or a phase mismatch. Second trap: a Get pulls whatever is currently in the bus, so if the Set lives on a branch that didn't run this time, you read a stale value (or a blocker). This is the classic stale-context bug from the plumbing layer, just wireless.

    Install. ComfyUI Manager β†’ "Orion4D_MetaNode", or clone https://github.com/orion4d/Orion4D_MetaNode into custom_nodes/ and restart. Category: Orion4D_MetaNode/Bus. Zero extra dependencies.

    The bus is genuinely nice for sharing a model, an image, or a latent between distant branches - and Get is the half you'll wire most, because it's how you actually use what Set saved.

    CategoryOrion4D_MetaNode/Bus

    Inputs (4)

    NameTypeDefaultDescription
    variable_nameSTRINGmy_varβ€”
    data_typeCOMBO*12 options: *, IMAGE, LATENT, MASK, STRING, INT, +6
    execution_phaseCOMBO18 options: 1, 2, 3, 4, 5, 6, +2
    dependencyoptINTβ€”

    Outputs (1)

    NameTypeDescription
    output*β€”