Any Multi-Switch
The Model Roulette Settler
- input1
- input2
- input3
- input4
- input5
- *
The classic ComfyUI problem: you want to choose between several options at runtime, but a static switch means editing a number, and a pile of conditionals means building a monster graph. Any Multi-Switch is the "I don't care which one, just give me one that works" answer: five inputs, and it returns the first one that isn't None. Wire up your candidates, bypass the ones you don't want, and the node picks the first live one automatically. It's how you build an options menu that doesn't need a UI to operate.
How it works
Five optional inputs - input1 through input5 - each accepting any type (the node uses ComfyUI's wildcard type, so a MODEL, an IMAGE, a STRING, whatever you're routing, all connect). The output, *, is the same any-type. The logic is dead simple: the node checks input1 first and returns it if it's not None; otherwise input2, then input3, and so on down the line. First non-empty wins. If every input is None, it raises "Missing Input: Multi Any Switch has no active Input" rather than silently passing a nothing - loud failure over silent breakage, which is the right call for a node whose whole job is "give me a value."
The README's golden rule
The pack's README spells out the one thing that makes this node behave: connect the always-enabled source last. Think of the classic use case it was built for - choosing between CLIP models from different loaders. Say you have a checkpoint loader's CLIP, a dual-clip loader (Flux), and a triple-clip loader (SD3) as candidates. The checkpoint loader is always on, so it must go in the last slot (input5). The bypassable loaders go in the earlier slots. Why? Because a node that's always enabled and connected to input1 is never None, so it wins the race every time and the other slots become dead weight. Put the permanent option at the end and the bypassable ones up front, and toggling which option is used becomes a matter of muting a loader - no selector widget, no rewiring.
When you'd use it
Beyond CLIP selection, it's the general-purpose "pick any available" router: alternate between controlnet models, image sources, or VAE options by bypassing loaders. The multi-slot design is also the reason you'd pick this over a plain 2-way switch - when the candidate list might grow to three or four, having five slots means you don't rebuild the graph when you add an option.
Installing it
Part of ComfyUI-RvTools_v2 - Manager → search "ComfyUI-RvTools_v2", or:
cd ComfyUI/custom_nodes
git clone https://github.com/r-vage/ComfyUI-RvTools_v2
# restart ComfyUI
No models, no extra dependencies.
Gotchas
The "always-enabled source last" rule is the one that separates smooth sailing from confusion - get it backwards and the switch silently locks onto one option forever. And because it's an any-type node, it won't catch type mistakes for you; what you put in is what you get out, so wire like types. Pack-level note: RvTools_v2 is unmaintained, superseded by ComfyUI_Eclipse, and the [RvTools] name suffix is what trips up Manager when old shared workflows reference the pre-rename nodes.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| input1opt | * | — | |
| input2opt | * | — | |
| input3opt | * | — | |
| input4opt | * | — | |
| input5opt | * | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| * | * | — |