Nodes/BV Node Pack/πŸŒ€ BV Control Center
ComfyUI Node

πŸŒ€ BV Control Center

Mute or bypass a whole node group from one panel, without deleting anything

By BlackVortexAIΒ·Created 8 months agoΒ·Updated about 10 hours agoΒ· 6
πŸŒ€ BV Control Center
      β—„bv_control_config_json{}β–Ί

      BV Control Center is a beta node that gives you one dashboard for muting and bypassing entire groups of nodes, straight from the graph. It's the same idea as rgthree's Fast Groups Muter/Bypasser - which the ecosystem docs describe as "a dashboard for switching whole groups off without deleting them" - but built specifically to survive inside Subgraphs/Subflows, which is where most graph-management tools fall apart.

      Why reach for it: the moment a workflow has three or four modes - "character render" vs "landscape render", "preview pass" vs "final pass" - you end up manually bypassing half a dozen nodes every time you switch. Control Center turns that into flipping a toggle. It's a beta feature, so treat it as "cool, mostly works" rather than infrastructure you bet your daily driver on.

      How it works

      The node itself is a pure controller: it takes no data in and hands no data out - it's an output node whose run returns nothing. All the real work happens in the frontend. You hit a config button on the node, which opens a dialog (the README's screenshots walk through this). There you create "controls": each control has a name, points at one or more node groups, and defines a state - muted, bypassed, or active. When you flip a control, the frontend walks the graph and applies mute/bypass to every node in the assigned groups.

      Configuration is stored as JSON on the node - a {"controls": [...]} blob where each entry maps a control to groupPath/groupTitle assignments. The backend validates it on every prompt submit: the JSON has to parse, and any control that references a group it can't resolve throws a clear error naming the control and the missing group. That unresolved-group check is a genuinely nice touch, because the classic failure mode of group-muting tools is a typo'd group name that silently does nothing.

      The README calls out that the UI is Subgraph-compatible - you can drop a Control Center inside a subflow and it manages groups in that subgraph, which is where this pack does its differentiation. It's the whole reason the pack's ADRs exist: rendering subgraph UIs in a renderer-independent way.

      Using it

      There are no standard inputs or outputs to wire - it's a leaf node. The workflow is:

      1. Add the node, click the config button.
      2. In the dialog, define controls: name, assigned node groups, and the state each control sets (e.g. "Only Preview").
      3. Save - the node's UI rebuilds to show a toggle per control.
      4. Flip toggles and re-run.

      Install & gotchas

      Shared with the whole pack: ComfyUI Manager β†’ BV Node Pack, or git clone https://github.com/BlackVortexAI/bv_nodepack into ComfyUI/custom_nodes, then restart and hard-refresh the browser (Ctrl + F5). No model downloads, no requirements.txt - the whole pack is pure Python plus JS frontend extensions, which is why it's so light to install.

      Beta-specific things to keep in mind. First, the mute/bypass state is frontend state, so it lives in your workflow JSON - fine for saving, but it won't magically reconstruct on a machine that doesn't have this pack installed. Second, because the entire feature is a JS UI, it's exactly the kind of node that ComfyUI's Nodes 2.0 frontend can leave looking wrong - the pack's own design notes admit Nodes 2.0 may fall back to plain widgets where it doesn't expose the presentation hooks the node needs. If your Control Center renders as a bare text field after a ComfyUI update, that's the likely culprit; the legacy canvas still works. And since it's marked BETA, expect rough edges and check the repo's changelog before updating mid-project.

      CategoryπŸŒ€ BV Node Pack/control

      Inputs (1)

      NameTypeDefaultDescription
      bv_control_config_jsonSTRING{}β€”

      Outputs (0)

      No outputs