Nodes/roblox-comfyui-nodes/Switch Image Node
ComfyUI Node

Switch Image Node

Ten decals from one folder, each on its own socket

By VertexStudio·Created 2 years ago·Updated 2 years ago· 0
Switch Image Node
    • SOURCE_0
    • SOURCE_1
    • SOURCE_2
    • SOURCE_3
    • SOURCE_4
    • SOURCE_5
    • SOURCE_6
    • SOURCE_7
    • SOURCE_8
    • SOURCE_9
    condition0
    source_folderinput/Liveries/Stickers

    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's input directory, so input/Liveries/Stickers resolves to ComfyUI/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.png through image_00010.png, or the folder path is wrong relative to ComfyUI/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.

    CategoryCustom Nodes

    Inputs (2)

    NameTypeDefaultDescription
    conditionINT00–9
    source_folderSTRINGinput/Liveries/Stickers

    Outputs (10)

    NameTypeDescription
    SOURCE_0*
    SOURCE_1*
    SOURCE_2*
    SOURCE_3*
    SOURCE_4*
    SOURCE_5*
    SOURCE_6*
    SOURCE_7*
    SOURCE_8*
    SOURCE_9*