Switch Image Node
Ten decals from one folder, each on its own socket
- SOURCE_0
- SOURCE_1
- SOURCE_2
- SOURCE_3
- SOURCE_4
- SOURCE_5
- SOURCE_6
- SOURCE_7
- SOURCE_8
- SOURCE_9
This node is basically a folder reader wearing a switch costume. Point it at a directory of images, and it loads them onto ten output sockets - one image per socket. The default folder, input/Liveries/Stickers, tells you exactly who this is for: Roblox sticker and livery decals, where you'd rather have ten images sitting on named ports than dig through Load Image nodes one at a time.
How it works
Two inputs:
- condition (INT, 0–9) - and here's the honest truth about this parameter: it only validates the range. It does not pick which image loads. All ten images get loaded and output every run regardless of what you set.
- source_folder (STRING, default
input/Liveries/Stickers) - relative to ComfyUI'sinputdirectory, soinput/Liveries/Stickersresolves toComfyUI/input/Liveries/Stickers.
The ten outputs are SOURCE_0 through SOURCE_9. It expects files named exactly image_00001.png, image_00002.png, and so on up to image_00010.png - the code builds the filename from image_{index + 1:05d}.png, so there's zero tolerance for naming variation.
Two details worth knowing. If a file is missing, that output doesn't error - it gets a transparent 256×256 RGBA tensor placeholder, which is either handy or maddening depending on whether you notice. And the outputs are wildcard (*) sockets, but what they carry is plain images; wire them into any IMAGE input.
Why you'd reach for it
If you're assembling Roblox UGC - stickers, decals, livery sheets - this is a neat way to keep a fixed set of assets one wire away. Load ten prepared decals, and each one sits on its own named output ready to feed a composition or save node. Since it always re-executes (IS_CHANGED returns NaN), a file you swap in on disk shows up on the next run without clearing the cache.
Outside that narrow job, it's harder to recommend. A standard Load Image plus a normal switch gets you the same thing with less ceremony, and the fixed ten-file naming convention is oddly rigid.
Installing it
It's part of the roblox-comfyui-nodes pack - installing the pack gives you this node.
cd ComfyUI/custom_nodes
git clone https://github.com/VertexStudio/roblox-comfyui-nodes
Restart ComfyUI. Or search for roblox-comfyui-nodes in ComfyUI Manager and install from there. No requirements.txt, no models - the only dependency is the images you point it at. Find it under Custom Nodes.
Common issues
- "All I get are transparent squares." Your filenames don't match
image_00001.pngthroughimage_00010.png, or the folder path is wrong relative toComfyUI/input. A missing file silently becomes a transparent placeholder - there's no error to chase, so check the folder. - "Changing condition does nothing." Correct, it doesn't. It's a vestigial range check. All ten images load every time; you select by wiring whichever output you want downstream.
- Wrong folder. Remember the path is relative to the input directory, not the ComfyUI root and not wherever you cloned the pack.
Small, single-purpose, and it does what it says - just keep the rigid filename scheme and the vestigial condition in mind and it'll behave.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| condition | INT | 00–9 | — |
| source_folder | STRING | input/Liveries/Stickers | — |
Outputs (10)
| Name | Type | Description |
|---|---|---|
| SOURCE_0 | * | — |
| SOURCE_1 | * | — |
| SOURCE_2 | * | — |
| SOURCE_3 | * | — |
| SOURCE_4 | * | — |
| SOURCE_5 | * | — |
| SOURCE_6 | * | — |
| SOURCE_7 | * | — |
| SOURCE_8 | * | — |
| SOURCE_9 | * | — |