Nodes/DazzleNodes Collection/Dazzle Switch (DazzleNodes)
ComfyUI Node

Dazzle Switch (DazzleNodes)

Quit Rewiring Your Workflow — Dazzle Switch Picks the Noodle

By DazzleNodes·Created 10 months ago·Updated 5 months ago· 4
Dazzle Switch (DazzleNodes)
  • input_01
  • input_02
  • input_03
  • output
  • selected_index
select(none connected)
modepriority
select_override0

The moment you've had it with ComfyUI's wire spaghetti is when you're A/B testing two checkpoints, or two LoRAs, and you keep unplugging one noodle and plugging in the other. Dazzle Switch is the fix: connect a handful of things to one node, pick which one flows through from a dropdown, and stop touching the graph.

It's a type-agnostic switch, so it doesn't care what you feed it. MODEL, CLIP, LATENT, IMAGE, MASK, STRING, CONDITIONING - any of it. Wire your alternate models into input_01, input_02, input_03, and the node grows more slots automatically when you connect past the last one. The dropdown on the node (select) lists every connected input by name - and you can rename slots, so instead of "input_02" the dropdown says "XL Turbo" and you know exactly what you're picking. There's even a label cache so your names survive unplugging things and plugging them back in.

How it decides

The dropdown is the headline, but the interesting part is what happens when the thing you picked isn't available. There are three fallback modes:

  • priority - first non-empty input from the top, rgthree-style. This is the default and the most forgiving.
  • strict - only the dropdown selection, no fallback. If it's not there, you get nothing.
  • sequential - pick the next slot down, wrapping around. Good for stepping through a chain.

Then there's select_override, an INT input that makes the node programmable. Set it to 1+ to force a specific input number, -1 for the last connected, -2 for second-to-last. The killer use case is cascading: wire one INT output into several Dazzle Switches and one number flips an entire pipeline between branches. That's the trick that justifies the node - flipping one switch to swap the whole model/upscaler/VAE stack at once.

The node also hands you selected_index (INT) out the second slot, so downstream logic can know which branch won. Its output label even shows the detected type of what's actually connected, which saves you from guessing whether that "*" is a model or an image.

Why not rgthree's Any Switch?

If you already run rgthree, its Any Switch does the "first non-empty from the top" thing implicitly - it's great, and it's free if you have the pack. Dazzle Switch's angle is that selection is explicit (you name it, you pick it) and that the INT override lets you chain switches where rgthree can't. It's a nicer fit for one specific pattern: a deliberate routing switch you want to control from elsewhere in the graph. If you just want "top non-empty wins," you don't need this node.

Installing it

This is part of the DazzleNodes collection, so install the pack, not the node alone. In ComfyUI Manager, search DazzleNodes and install. From the terminal:

cd ComfyUI/custom_nodes
git clone --recursive https://github.com/DazzleNodes/DazzleNodes.git

The --recursive matters - the pack is a bundle of git submodules. If you forgot it, the pack actually auto-initializes the empty submodule directories at startup, so it usually self-heals. Either way, restart ComfyUI and you'll find it under DazzleNodes → Dazzle Switch. No model downloads, no pip dependencies beyond what ComfyUI already ships.

One honest caution, and it's about the genre more than this node: routing hacks make workflows impossible to debug if you spray them everywhere. The community has pushed back hard on "anything anywhere" nodes for exactly that reason. A switch you name and use deliberately is fine and genuinely useful - just don't turn your whole graph into one.

CategoryDazzleNodes

Inputs (6)

NameTypeDefaultDescription
selectCOMBO(none connected)Choose which connected input to route to output. Select (none) to skip dropdown and let mode decide. Options update automatically based on connections.
modeCOMBOpriorityFallback when selected input is unavailable. priority: first non-empty from top (rgthree-style). strict: selected only, no fallback. sequential: next slot down, wrapping around.
select_overrideoptINT0-50–50Programmatic override: 0 = use dropdown, 1+ = select that input number directly, -1 = last connected, -2 = second-to-last, etc. Enables cascading selection from upstream.
input_01opt*
input_02opt*
input_03opt*

Outputs (2)

NameTypeDescription
output*
selected_indexINT