Nodes/ComfyUI Impact Pack/ImpactValueReceiver
ComfyUI Node Runs on cloud

ImpactValueReceiver

A typed value slot fed by a matching sender elsewhere

By ltdrdata·Created 3 years ago·Updated 4 months ago· 3,248
ImpactValueReceiver
    • *
    typ
    value
    link_id0

    Impact Pack has a small family of sender/receiver node pairs - ImageSender/ImageReceiver for pictures, LatentSender/LatentReceiver for latents - that pass a value between parts of a workflow (or between separate workflows) without a direct wire connecting them, matched instead by a shared link_id. ImpactValueReceiver is the same pattern applied to plain typed values: strings, ints, floats, booleans. It's paired with ImpactValueSender elsewhere in your graph.

    This lives in the README's "Logics (experimental)" section, alongside ImpactCompare, ImpactConditionalBranch, and the other loop/branch primitives the pack ships for building dynamic, self-modifying workflows. It's plumbing for that world, not a general-purpose node you'd reach for in an ordinary generation graph.

    How it works

    You set typ to the kind of value you're expecting (STRING, INT, FLOAT, or BOOLEAN), and the node exposes a * (wildcard) output that resolves to that concrete type. value is a text field holding a fallback - the value the node outputs if nothing has sent it anything via a matching ImpactValueSender yet, entered as a string and interpreted according to typ. link_id is the pairing key: an ImpactValueSender set to the same link_id elsewhere in the graph is what actually feeds this receiver a live value at runtime.

    This is the kind of node that matters for workflows using the pack's loop/queue-trigger machinery - where a value needs to travel from one part of a repeatedly-re-queued graph to another without a conventional direct wire, because the two parts run in different passes.

    The inputs and output

    • typ (enum: STRING / INT / FLOAT / BOOLEAN) - what type the received value should be interpreted as.
    • value (default empty string) - the fallback value, used if no sender has delivered anything for this link_id yet. Typed according to typ.
    • link_id (default 0) - the pairing key matching this receiver to a specific ImpactValueSender.

    Output is a single * (wildcard) - resolves to whatever concrete type typ specifies, ready to feed into any node expecting that type.

    How to install it

    Via ComfyUI Manager: search ComfyUI Impact Pack, install, restart. Manually:

    cd ComfyUI/custom_nodes
    git clone https://github.com/ltdrdata/ComfyUI-Impact-Pack comfyui-impact-pack
    cd comfyui-impact-pack
    python -m pip install -r requirements.txt   # ComfyUI's python; python_embeded on portable
    

    then restart. No models - pure value-passing logic.

    Common issues & troubleshooting

    Always getting the fallback value, never the sent one. Check the link_id on both ImpactValueReceiver and its matching ImpactValueSender - a mismatch means the sender's value never reaches this receiver, and you silently fall back to whatever's typed in value.

    Type-mismatch warnings on the output. Like several of Impact Pack's logic nodes, this one uses wildcard (*) typing so the output can adapt to STRING/INT/FLOAT/BOOLEAN. The README's own limitation note applies here too: dynamic typing isn't officially supported by ComfyUI yet, so validation can flag a connection that actually works fine at runtime.

    Not sure you need this. If your value only ever needs to travel forward through a normal, single-pass graph, a direct wire is simpler and easier to follow. Reach for sender/receiver pairs specifically when the value needs to cross between separately-triggered parts of a workflow (loop iterations, queue-triggered re-runs) where a plain wire can't reach.

    CategoryImpactPack/Logic

    Inputs (3)

    NameTypeDefaultDescription
    typCOMBO4 options: STRING, INT, FLOAT, BOOLEAN
    valueSTRING
    link_idINT00–9223372036854776000

    Outputs (1)

    NameTypeDescription
    **