ComfyUI Node

VRGDG_SetMuteStateMulti

Flip a batch of nodes off (or bypass them) from inside the graph

By vrgamegirl19·Created about a year ago·Updated about 7 hours ago· 718
VRGDG_SetMuteStateMulti
  • signal
  • signal_opt
node_ids
set_statetrue
off_modemute

VRGDG_SetMuteStateMulti is the smaller sibling of SetGroupStateMulti, and where the group version works on named groups, this one works directly on node IDs. You hand it a list of node IDs, tell it whether to set them to "off" and how (mute vs bypass), and it flips them when it runs. It's a node-level on/off switch that a workflow can throw at itself mid-run.

The mechanism

Everything rides on ComfyUI's per-node state. Mute means "don't execute this node"; bypass means "execute it but pass inputs through untouched." The difference matters: bypass preserves the data flow (a bypassed KSampler just lets its input pass to its output), while mute breaks the chain - which is why most people use bypass when they want to keep the graph wired but skip a stage, and mute when they genuinely want it out of the run. This node gives you both via off_mode, which is mute or bypass.

Required inputs:

  • signal - type *. The trigger. Feed it anything to make the node fire; it's the workflow's "now flip the switches" moment.
  • node_ids - the list of node IDs to affect. The pack's own workflows populate this, but if you're wiring it yourself, node IDs are the small labels you see on nodes in the graph (and in the workflow JSON). A comma-separated list.
  • set_state - boolean, default true. True = set the listed nodes to the off state; false = set them back on. One node, both directions.
  • off_mode - mute or bypass, as above.

The output is signal_opt, echoing the signal back so the chain continues. That's the whole node - it's deliberately dumb and deterministic, which is a feature when it's part of an automated loop.

Why you'd use it over the group version

Groups are convenient but require exact-name matching and break when someone renames a group. Node IDs are uglier but unambiguous - the same ID in the JSON is the same node, period. So if your workflow has a stage you want skipped for the second pass of a two-pass render (render full quality, then bypass the expensive stage and re-run cheap), and you're wiring it by hand, this is the more precise tool. It's also simpler to reason about: no group_count, no twelve row pairs, just IDs and a direction.

Install

The pack, once:

cd ComfyUI/custom_nodes
git clone https://github.com/vrgamegirl19/comfyui-vrgamedevgirl

or ComfyUI Manager → "vrgamedev" → restart; requirements kornia, librosa, imageio install with it.

One warning that applies to any node that mutes other nodes: test it on a copy of your workflow. A mistaken node ID list can silently skip a stage you needed, and because the state change happens during the run, by the time you notice, you've already burned the generation time. The node works exactly as promised - just make sure it's promising what you wanted.

CategoryVRGDG/General

Inputs (4)

NameTypeDefaultDescription
signal*
node_idsSTRING
set_stateBOOLEANtrue
off_modeCOMBOmute2 options: mute, bypass

Outputs (1)

NameTypeDescription
signal_opt*