Conditioning Multi-Switch
Swap positive conditioning without pulling a single wire
- input1
- input2
- input3
- input4
- input5
- cond
Conditioning in ComfyUI is the encoded form of your prompt: a bundle of tokens plus the model's understanding of them, ready for the sampler. The Conditioning Multi-Switch gives you five CONDITIONING inputs and hands back the first one that isn't None. No widget, no settings - the node just looks at what's connected and live, top to bottom, and passes the first real thing through.
Why that's so useful
Because conditioning comes out of a text encoder, and different encoders produce different flavors. Maybe you have an SDXL positive conditioning and a Flux positive conditioning in the same graph, and you want to flip between them depending on which model branch is active. Or you have several prompt variants pre-encoded and you want to toggle which one reaches the sampler. Wire all of them in, bypass the ones you're not using, and the switch does the rest - no rewiring mid-test, no accidental disconnect.
It's the same pattern as the pack's CLIP Multi-Switch, and the same rule from the author applies: put the bypassable conditionings in the first slots, and anything that can't be bypassed (always live) in the last slot. Because a live slot-1 connection is never None, the switch stops there and never even looks at the others. If you want slot 3 to win, slot 1 and 2 need to be genuinely empty - bypassed upstream, not just "well, I'm not using that one right now."
The other half of its usefulness is as a passer with a fallback chain. The pack's whole origin story is fixing nodes that can't read data from bypassed upstream nodes - drop a multi-switch in front of a stubborn downstream node and the conditioning still flows, because the switch collapses "bypassed or missing" into "move to the next slot."
What's on the node
input1–input5- optional CONDITIONING inputs, allforceInput(wire-only; no typing values in).condoutput - one CONDITIONING, feeding straight into your KSampler or sampler settings node.
Real failure mode to know: if every slot is empty, it doesn't pass nothing - it raises a hard "Missing Input" error. The node demands at least one live input, and that's a feature: a sampler handed an empty conditioning would produce garbage anyway, and the loud error is easier to debug than silent nonsense.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/r-vage/ComfyUI-RvTools_v2
# restart ComfyUI
Or search "ComfyUI-RvTools_v2" in ComfyUI Manager. Nothing to download beyond the pack - the dependencies are the usual torch/numpy/Pillow/opencv-python/pilgram.
The standing caveat
Like every node in this pack, it ships under a "no longer maintained" banner - the README points to ComfyUI_Eclipse, the same author's successor pack that folds most of these nodes in. And the RvTools family has an ugly install history: the original repo was deleted from GitHub in early 2025, which broke a pile of shared workflows and spawned a "copy the folder from my other install" scramble in the r/comfyui thread about it. v2 is the stable, renamed version - works fine, just don't expect updates.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| input1opt | CONDITIONING | — | |
| input2opt | CONDITIONING | — | |
| input3opt | CONDITIONING | — | |
| input4opt | CONDITIONING | — | |
| input5opt | CONDITIONING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| cond | CONDITIONING | — |