VRGDG_SetGroupStateMulti
A mute/bypass dashboard for up to twelve workflow groups
- signal
- signal_opt
If you've ever stared at a ComfyUI graph so dense you can't see the wires, you already know what this node is for. VRGDG_SetGroupStateMulti is a batch control panel: give it a list of workflow groups and it mutes, bypasses, or activates them - up to twelve at once, from inside the graph, at runtime. It's the same idea as rgthree-comfy's Fast Groups Muter and Bypasser, built directly into this pack so its multi-scene workflows can rewire themselves between passes without you clicking.
The mechanism
The node hooks into ComfyUI's node-state API. In the UI, right-clicking a node and choosing Mute or Bypass is a manual toggle; this node does the same thing programmatically when it executes. The signal input (type *, so anything) exists purely to trigger execution and to let the workflow control when the state change happens - you feed it a value from a finished stage, and the group flips at that point. It echoes the signal back out of signal_opt so you can keep the chain going.
The key inputs:
group_count- how many group rows you want (1–12).group_action- the default action for groups without their own override:active,mute, orbypass.group_1…group_12with matchinggroup_1_action…group_12_action- the per-group targets and actions. The group names are strings; ComfyUI group titles go here.node_ids_csvandgroup_targets_json- the escape hatches. A comma-separated list of node IDs, or a JSON blob of targets, for when you want to hit individual nodes rather than named groups.auto_queue_nextwithqueue_delay_seconds- if on, the node re-queues the workflow after flipping state, with an optional delay. That's what turns a single run into a self-advancing multi-scene render: scene 1 finishes, this node mutes scene 1's group, activates scene 2's, and re-queues.
The workflow it's built for
This is the orchestration heart of the pack's music-video pipeline. The workflow is one big graph where each scene is a group; after rendering scene 1 it needs to run scene 2 without a human walking over and clicking. auto_queue_next plus the group states is how that loop stays in motion for hours. If you're not running that pipeline, this is still a genuinely handy utility - a single node that can bypass half your graph on demand is worth having around.
Install and the honest caveats
cd ComfyUI/custom_nodes
git clone https://github.com/vrgamegirl19/comfyui-vrgamedevgirl
or ComfyUI Manager → "vrgamedev", restart. Requirements: kornia, librosa, imageio.
The trap is figuring out what to put in the group name fields - group titles, not node titles, and they must match exactly or the flip silently does nothing. If your group is called "Scene 2 (v3)" and you type "Scene 2", you'll sit through a run wondering why nothing changed. Check the node's behavior with group_count small and auto_queue_next off before you trust it with a 3-hour batch. And remember the pack's README predates most of these nodes - there's no manual for the fields, so the workflow JSONs and the author's tutorial are your real documentation.
Inputs (31)
| Name | Type | Default | Description |
|---|---|---|---|
| signal | * | — | |
| group_count | INT | 11–12 | — |
| group_action | COMBO | mute | 3 options: active, mute, bypass |
| auto_queue_next | BOOLEAN | false | — |
| queue_delay_seconds | FLOAT | 0.00–60 | — |
| node_ids_csv | STRING | — | |
| group_targets_json | STRING | [] | — |
| group_1 | STRING | <none> | — |
| group_1_action | COMBO | mute | 3 options: active, mute, bypass |
| group_2 | STRING | <none> | — |
| group_2_action | COMBO | mute | 3 options: active, mute, bypass |
| group_3 | STRING | <none> | — |
| group_3_action | COMBO | mute | 3 options: active, mute, bypass |
| group_4 | STRING | <none> | — |
| group_4_action | COMBO | mute | 3 options: active, mute, bypass |
| group_5 | STRING | <none> | — |
| group_5_action | COMBO | mute | 3 options: active, mute, bypass |
| group_6 | STRING | <none> | — |
| group_6_action | COMBO | mute | 3 options: active, mute, bypass |
| group_7 | STRING | <none> | — |
| group_7_action | COMBO | mute | 3 options: active, mute, bypass |
| group_8 | STRING | <none> | — |
| group_8_action | COMBO | mute | 3 options: active, mute, bypass |
| group_9 | STRING | <none> | — |
| group_9_action | COMBO | mute | 3 options: active, mute, bypass |
| group_10 | STRING | <none> | — |
| group_10_action | COMBO | mute | 3 options: active, mute, bypass |
| group_11 | STRING | <none> | — |
| group_11_action | COMBO | mute | 3 options: active, mute, bypass |
| group_12 | STRING | <none> | — |
| group_12_action | COMBO | mute | 3 options: active, mute, bypass |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| signal_opt | * | — |