VRGDG_SetMuteStateMulti
Flip a batch of nodes off (or bypass them) from inside the graph
- signal
- signal_opt
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, defaulttrue. True = set the listed nodes to the off state; false = set them back on. One node, both directions.off_mode-muteorbypass, 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.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| signal | * | — | |
| node_ids | STRING | — | |
| set_state | BOOLEAN | true | — |
| off_mode | COMBO | mute | 2 options: mute, bypass |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| signal_opt | * | — |