Toggle Unified Loader
UNet, CLIP, VAE and ten LoRAs in one node — the loader that declutters your graph
- MODEL
- CLIP
- VAE
A modern Flux 2 or Qwen workflow needs a UNet, a separate text encoder, a VAE, and usually two or three LoRAs stacked on top. In stock ComfyUI that's a UNETLoader, a CLIPLoader, a VAELoader, and a LoraLoaderModelOnly per LoRA - five or six nodes just to get your models loaded, every single workflow. Toggle Unified Loader replaces all of them with one node that outputs MODEL, CLIP, and VAE with up to ten LoRAs applied in sequence.
This is the "declutter" part of the Toggle-Pass pack, and it's the same instinct that made rgthree's Power Lora Loader the most-travelled node in its pack - fewer nodes on the canvas, fewer wires to trace when something breaks. Unlike Power Lora Loader though, this one also loads the base model, so it can replace your entire loading column.
How it works
It loads straight from the split model folders: unet_name from models/unet, clip_name from models/clip, vae_name from models/vae, and LoRAs from models/loras. That's worth knowing before you use it - if you only have all-in-one checkpoint files in models/checkpoints, they won't appear in the dropdowns. Split files are the standard layout for Flux/Qwen anyway, so you're probably already there.
The clip_type dropdown is where it gets clever. Set to auto and it reads your UNet's state dict, detects the model config, and derives the right CLIP type (flux, flux2, sd3, wan, hidream, and so on). If detection fails it quietly falls back to stable_diffusion, which will usually produce a confusing error downstream - so if you're loading something exotic and get a CLIP error, set the type manually instead of trusting auto.
LoRAs are applied one after another with per-LoRA lora_strength_model and lora_strength_clip sliders, in the order you add them. Set a LoRA back to none and it's skipped, strengths can even go negative if you want to subtract a LoRA.
Inputs and outputs that matter
Required: unet_name, clip_name, vae_name, clip_type, plus lora_name_1 through lora_name_10 and their two strength sliders each. Practically you'll set the three model files, leave clip_type on auto, and only touch the LoRA slots you actually use - the frontend hides empty ones.
Outputs: MODEL, CLIP, VAE, wired to whatever you'd normally feed from three separate loaders. Note there's no output node or preview here - it's purely a loader, so it's not the thing you use to save an image.
Troubleshooting
- The dropdowns are empty. Your files aren't in the split folders - drop the UNet in
models/unet, the CLIP inmodels/clip, the VAE inmodels/vae, and LoRAs inmodels/loras, then refresh. - Auto CLIP type gives garbage or errors. Detection depends on the UNet metadata; if you're on an unusual model, pick the type by hand from the list.
- A LoRA isn't taking effect. Check
lora_strength_model- it defaults to 1.0, but anoneselection hides the slot and silently skips it.
Installing it
It ships in the Toggle-Pass pack, so one install gets you this and the image/ref nodes together:
cd ComfyUI/custom_nodes
git clone https://github.com/electricty00/ComfyUI-Toggle-Pass
then restart ComfyUI (or search "ComfyUI-Toggle-Pass" in ComfyUI Manager). There's no requirements.txt - no pip dependencies, just ComfyUI's bundled torch/PIL/numpy, so it can't fight your other nodes over package versions. Small personal pack, fresh off a single author's workflow - the auto clip-type detection is the nicest feature here, and it's the part most likely to need a nudge when you're off the beaten model path.
Inputs (34)
| Name | Type | Default | Description |
|---|---|---|---|
| unet_name | COMBO | 0 options: | |
| clip_name | COMBO | 0 options: | |
| vae_name | COMBO | 0 options: | |
| clip_type | COMBO | 10 options: auto, stable_diffusion, stable_cascade, sd3, flux, flux2, +4 | |
| lora_name_1 | COMBO | 1 options: none | |
| lora_strength_model_1 | FLOAT | 1.00-100–100 | — |
| lora_strength_clip_1 | FLOAT | 1.00-100–100 | — |
| lora_name_2 | COMBO | 1 options: none | |
| lora_strength_model_2 | FLOAT | 1.00-100–100 | — |
| lora_strength_clip_2 | FLOAT | 1.00-100–100 | — |
| lora_name_3 | COMBO | 1 options: none | |
| lora_strength_model_3 | FLOAT | 1.00-100–100 | — |
| lora_strength_clip_3 | FLOAT | 1.00-100–100 | — |
| lora_name_4 | COMBO | 1 options: none | |
| lora_strength_model_4 | FLOAT | 1.00-100–100 | — |
| lora_strength_clip_4 | FLOAT | 1.00-100–100 | — |
| lora_name_5 | COMBO | 1 options: none | |
| lora_strength_model_5 | FLOAT | 1.00-100–100 | — |
| lora_strength_clip_5 | FLOAT | 1.00-100–100 | — |
| lora_name_6 | COMBO | 1 options: none | |
| lora_strength_model_6 | FLOAT | 1.00-100–100 | — |
| lora_strength_clip_6 | FLOAT | 1.00-100–100 | — |
| lora_name_7 | COMBO | 1 options: none | |
| lora_strength_model_7 | FLOAT | 1.00-100–100 | — |
| lora_strength_clip_7 | FLOAT | 1.00-100–100 | — |
| lora_name_8 | COMBO | 1 options: none | |
| lora_strength_model_8 | FLOAT | 1.00-100–100 | — |
| lora_strength_clip_8 | FLOAT | 1.00-100–100 | — |
| lora_name_9 | COMBO | 1 options: none | |
| lora_strength_model_9 | FLOAT | 1.00-100–100 | — |
| lora_strength_clip_9 | FLOAT | 1.00-100–100 | — |
| lora_name_10 | COMBO | 1 options: none | |
| lora_strength_model_10 | FLOAT | 1.00-100–100 | — |
| lora_strength_clip_10 | FLOAT | 1.00-100–100 | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |
| CLIP | CLIP | — |
| VAE | VAE | — |