AUN Node Controller
The Node Controller that replaces half your bypass-clicking
- Labels
- Switch 1
- Switch 2
- Switch 3
- Switch 4
- Switch 5
- Switch 6
- Switch 7
- Switch 8
- Switch 9
- Switch 10
- Switch 11
- Switch 12
- Switch 13
- Switch 14
- Switch 15
- Switch 16
- Switch 17
- Switch 18
- Switch 19
- Switch 20
This is the flagship of the AUN pack's "Node Control" section, and it's the one worth understanding even if you never touch the rest. AUN Node Controller is a single panel that bypasses, mutes, collapses, or does both to up to 20 sets of nodes - and unlike the pack's simpler index nodes, it targets nodes by title as well as ID, gives every slot a human label, and hands you boolean outputs you can wire into other switches. It's the closest thing AUN has to "the rgthree Fast Groups Muter, but one node you fully own."
How it works
You define up to 20 slots. Each slot has a label (what you'd actually call it: "upscale", "refiner", "loras off"), a targets field holding node IDs or titles (comma, semicolon, or newline separated - and !/- prefixes exclude, so image, !load hits every node matching "image" except the loaders), a target_type choosing ID vs Title matching, and a switch toggle. The mode at the top decides what those switches do: Bypass, Mute, Collapse, or the combos Bypass+Collapse and Mute+Collapse.
The node resolves your targets against the live graph and pushes state via ComfyUI's PromptServer events before the run - so it's a frontend graph controller, not something that touches your tensors. Because targeting is by title, it survives workflow edits far better than ID-based nodes: rename-proof (mostly), and it reads naturally when you come back to the workflow two weeks later.
The modes and controls that matter
mode- the core choice. Bypass passes data through; mute stops the node running; collapse just hides the body. The+Collapsecombos are nice for keeping a big workflow visually tidy while you work on one branch.toggle_restriction-max one(only one slot active),always one(guarantees one stays on - great for "exactly one style active"),iterate(cycle through slots per run),random(pick one each run). This is what turns the panel into a preset rotator.AllSwitch- force everything active at once; useful mid-experiment when you don't want to babysit twenty toggles.control_mode+Index- switch to index-driven and an INT input picks the active slot, which is the hook for chaining this behind a randomizer or a prompt cycler.
Outputs are the sleeper feature: Labels (STRING, the active slot labels - AUN's own docs suggest using them in filenames) and Switch 1…Switch 20 BOOLEAN pins. Wire a switch output into another node's boolean input and the controller becomes a routing hub, not just a bypass panel. show_outputs hides the pins when you don't need them.
Where it beats the alternatives
The pack's Multi Bypass Index / Multi Mute Index are exclusive-by-design and ID-only. This node is more flexible - multiple slots can be active, targeting is friendlier, and you get the labels and boolean outputs. If your workflow lives in groups, AUN Group Controller is the group-native sibling. Start with this one.
Install
Standard AUN install - Manager (search "AUN ComfyUI Nodes") or clone:
cd ComfyUI/custom_nodes
git clone https://github.com/loz2754/AUN-ComfyUI-Nodes
Restart, and dependencies come along via Manager or pip install -r custom_nodes/AUN-ComfyUI-Nodes/requirements.txt (piexif, opencv-python-headless, imageio-ffmpeg, requests). No models, no API keys, no services - pure local graph control.
One habit worth forming: label your slots and keep the node out of compact mode while you set it up, then double-click the body to collapse the widget rows once it's stable. Double-clicking is AUN's "compact mode" toggle, and it's how you get a tiny controller that still does a huge job.
Inputs (88)
| Name | Type | Default | Description |
|---|---|---|---|
| modeopt | COMBO | Bypass | Choose how to disable nodes: Bypass (🔴), Mute (🔇), Collapse (▶), or combinations. |
| slot_countopt | INT | 31–20 | Number of control slots to show (1-20). |
| toggle_restrictionopt | COMBO | default | Logic for toggles: 'max one' allows only one active, 'always one' ensures at least one is active, 'iterate' cycles through slots, 'random' picks a random slot on each run. |
| show_outputsopt | BOOLEAN | true | Show boolean output pins for each slot. |
| label_1opt | STRING | Descriptive label for slot 1 (other slots follow the same layout). | |
| targets_1opt | STRING | 0 | Target node IDs or Titles for slot 1 (comma, semicolon, or newline separated). Use '!' or '-' prefix for exclusion (e.g. 'image, !load'). |
| switch_1opt | BOOLEAN | false | Toggle state for slot 1. 🟢 = active, 🔴 = controlled by mode. |
| target_type_1opt | COMBO | ID | Targeting method for slot 1: ID (numeric) or Title (display name). |
| label_2opt | STRING | — | |
| targets_2opt | STRING | 0 | — |
| switch_2opt | BOOLEAN | false | — |
| target_type_2opt | COMBO | ID | 2 options: ID, Title |
| label_3opt | STRING | — | |
| targets_3opt | STRING | 0 | — |
| switch_3opt | BOOLEAN | false | — |
| target_type_3opt | COMBO | ID | 2 options: ID, Title |
| label_4opt | STRING | — | |
| targets_4opt | STRING | 0 | — |
| switch_4opt | BOOLEAN | false | — |
| target_type_4opt | COMBO | ID | 2 options: ID, Title |
| label_5opt | STRING | — | |
| targets_5opt | STRING | 0 | — |
| switch_5opt | BOOLEAN | false | — |
| target_type_5opt | COMBO | ID | 2 options: ID, Title |
| label_6opt | STRING | — | |
| targets_6opt | STRING | 0 | — |
| switch_6opt | BOOLEAN | false | — |
| target_type_6opt | COMBO | ID | 2 options: ID, Title |
| label_7opt | STRING | — | |
| targets_7opt | STRING | 0 | — |
| switch_7opt | BOOLEAN | false | — |
| target_type_7opt | COMBO | ID | 2 options: ID, Title |
| label_8opt | STRING | — | |
| targets_8opt | STRING | 0 | — |
| switch_8opt | BOOLEAN | false | — |
| target_type_8opt | COMBO | ID | 2 options: ID, Title |
| label_9opt | STRING | — | |
| targets_9opt | STRING | 0 | — |
| switch_9opt | BOOLEAN | false | — |
| target_type_9opt | COMBO | ID | 2 options: ID, Title |
| label_10opt | STRING | — | |
| targets_10opt | STRING | 0 | — |
| switch_10opt | BOOLEAN | false | — |
| target_type_10opt | COMBO | ID | 2 options: ID, Title |
| label_11opt | STRING | — | |
| targets_11opt | STRING | 0 | — |
| switch_11opt | BOOLEAN | false | — |
| target_type_11opt | COMBO | ID | 2 options: ID, Title |
| label_12opt | STRING | — | |
| targets_12opt | STRING | 0 | — |
| switch_12opt | BOOLEAN | false | — |
| target_type_12opt | COMBO | ID | 2 options: ID, Title |
| label_13opt | STRING | — | |
| targets_13opt | STRING | 0 | — |
| switch_13opt | BOOLEAN | false | — |
| target_type_13opt | COMBO | ID | 2 options: ID, Title |
| label_14opt | STRING | — | |
| targets_14opt | STRING | 0 | — |
| switch_14opt | BOOLEAN | false | — |
| target_type_14opt | COMBO | ID | 2 options: ID, Title |
| label_15opt | STRING | — | |
| targets_15opt | STRING | 0 | — |
| switch_15opt | BOOLEAN | false | — |
| target_type_15opt | COMBO | ID | 2 options: ID, Title |
| label_16opt | STRING | — | |
| targets_16opt | STRING | 0 | — |
| switch_16opt | BOOLEAN | false | — |
| target_type_16opt | COMBO | ID | 2 options: ID, Title |
| label_17opt | STRING | — | |
| targets_17opt | STRING | 0 | — |
| switch_17opt | BOOLEAN | false | — |
| target_type_17opt | COMBO | ID | 2 options: ID, Title |
| label_18opt | STRING | — | |
| targets_18opt | STRING | 0 | — |
| switch_18opt | BOOLEAN | false | — |
| target_type_18opt | COMBO | ID | 2 options: ID, Title |
| label_19opt | STRING | — | |
| targets_19opt | STRING | 0 | — |
| switch_19opt | BOOLEAN | false | — |
| target_type_19opt | COMBO | ID | 2 options: ID, Title |
| label_20opt | STRING | — | |
| targets_20opt | STRING | 0 | — |
| switch_20opt | BOOLEAN | false | — |
| target_type_20opt | COMBO | ID | 2 options: ID, Title |
| AllSwitchopt | BOOLEAN | false | ON = all groups active (🟢). OFF = use individual group switches. |
| control_modeopt | COMBO | manual | manual = use the slot toggles directly. index-driven = activate the slot matching the Index input. |
| Indexopt | INT | 00–20 | When control_mode is index-driven, activate only this slot. 0 means all slots inactive. |
| show_AllSwitchopt | BOOLEAN | false | Show the AllSwitch toggle even in compact mode. |
Outputs (21)
| Name | Type | Description |
|---|---|---|
| Labels | STRING | — |
| Switch 1 | BOOLEAN | — |
| Switch 2 | BOOLEAN | — |
| Switch 3 | BOOLEAN | — |
| Switch 4 | BOOLEAN | — |
| Switch 5 | BOOLEAN | — |
| Switch 6 | BOOLEAN | — |
| Switch 7 | BOOLEAN | — |
| Switch 8 | BOOLEAN | — |
| Switch 9 | BOOLEAN | — |
| Switch 10 | BOOLEAN | — |
| Switch 11 | BOOLEAN | — |
| Switch 12 | BOOLEAN | — |
| Switch 13 | BOOLEAN | — |
| Switch 14 | BOOLEAN | — |
| Switch 15 | BOOLEAN | — |
| Switch 16 | BOOLEAN | — |
| Switch 17 | BOOLEAN | — |
| Switch 18 | BOOLEAN | — |
| Switch 19 | BOOLEAN | — |
| Switch 20 | BOOLEAN | — |