VRGDG Image Switch (Multi Dynamic 002)
The multi-switch that gives index 0 a blank 1024×576 canvas
- image1
- image2
- image3
- image4
- image5
- image6
- image7
- image8
- image9
- image10
- image11
- image12
- image13
- image14
- image15
- image16
- image17
- image18
- image19
- image20
- image21
- image22
- image23
- image24
- image25
- image26
- image27
- image28
- image29
- image30
- image31
- image32
- image33
- image34
- image35
- image36
- image37
- image38
- image39
- image40
- image41
- image42
- image43
- image44
- image45
- image46
- image47
- image48
- image49
- image50
- image
Take the Multi Dynamic switch, then change exactly one thing: index 0 no longer means "nothing" - it means a blank image. VRGDG Image Switch (Multi Dynamic 002) returns a fixed 1024×576 empty canvas when the selection contains 0, and a normal batch when you select real indices like 1,2. That one tweak makes it dramatically more useful in video pipelines that can't tolerate a missing input.
How it works. Everything else is the Multi Dynamic switch: set image_count (1 to 50), click Refresh Inputs, and the node grows the image ports to match. Type your selection string into index - 1,2 outputs those two images as a batch; all outputs everything connected. But where the base node returns nothing for 0, this variant hands you a 1024×576 blank image instead. The resolution is fixed because it matches the pack's typical 16:9 video working resolution - the assumption is that when a scene says "no reference," the video sampler still needs a frame to start from, and an empty 16:9 canvas is the safe stand-in.
That's the real story here: in a video model, a missing image port can fail the whole batch or, worse, silently reuse the previous frame. A blank canvas is an explicit "this shot starts empty" signal that keeps the pipeline flowing. This is 002's whole reason to exist, and it's a genuinely thoughtful default once you've hit the "where did my first frame go" wall.
The inputs. index and image_count (required); up to 50 optional image ports. Same as its sibling.
The output. image - a blank 1024×576 when 0 is in the string, a batch of real images otherwise.
Which one do you want? If your pipeline handles missing inputs gracefully, the base Multi Dynamic switch (with its true "nothing" behavior) is fine and stays resolution-neutral. If you're feeding a video sampler that must always receive frames, 002 is the one - the fixed canvas is a feature, not a limitation, because a blank of the wrong size would just be resized downstream anyway. The pack ships both for a reason; they encode two different philosophies about what "no reference" means.
Installing. Both live in the vrgamedev pack:
cd ComfyUI/custom_nodes
git clone https://github.com/vrgamegirl19/comfyui-vrgamedevgirl
or install via ComfyUI Manager and restart.
Troubleshooting. Same refresh-button rules as the sibling node: change image_count, click Refresh Inputs, hard-refresh the browser if the button stops responding. And don't fight the fixed 1024×576 - if you genuinely need a different blank size, the pack's VRGDG_ImageIndex0HUMOEDIT node lets you set width and height explicitly. Use 002 when "blank at 16:9" is exactly what the pipeline expects.
Inputs (52)
| Name | Type | Default | Description |
|---|---|---|---|
| index | STRING | 1 | — |
| image_count | INT | 41–50 | — |
| image1opt | IMAGE | — | |
| image2opt | IMAGE | — | |
| image3opt | IMAGE | — | |
| image4opt | IMAGE | — | |
| image5opt | IMAGE | — | |
| image6opt | IMAGE | — | |
| image7opt | IMAGE | — | |
| image8opt | IMAGE | — | |
| image9opt | IMAGE | — | |
| image10opt | IMAGE | — | |
| image11opt | IMAGE | — | |
| image12opt | IMAGE | — | |
| image13opt | IMAGE | — | |
| image14opt | IMAGE | — | |
| image15opt | IMAGE | — | |
| image16opt | IMAGE | — | |
| image17opt | IMAGE | — | |
| image18opt | IMAGE | — | |
| image19opt | IMAGE | — | |
| image20opt | IMAGE | — | |
| image21opt | IMAGE | — | |
| image22opt | IMAGE | — | |
| image23opt | IMAGE | — | |
| image24opt | IMAGE | — | |
| image25opt | IMAGE | — | |
| image26opt | IMAGE | — | |
| image27opt | IMAGE | — | |
| image28opt | IMAGE | — | |
| image29opt | IMAGE | — | |
| image30opt | IMAGE | — | |
| image31opt | IMAGE | — | |
| image32opt | IMAGE | — | |
| image33opt | IMAGE | — | |
| image34opt | IMAGE | — | |
| image35opt | IMAGE | — | |
| image36opt | IMAGE | — | |
| image37opt | IMAGE | — | |
| image38opt | IMAGE | — | |
| image39opt | IMAGE | — | |
| image40opt | IMAGE | — | |
| image41opt | IMAGE | — | |
| image42opt | IMAGE | — | |
| image43opt | IMAGE | — | |
| image44opt | IMAGE | — | |
| image45opt | IMAGE | — | |
| image46opt | IMAGE | — | |
| image47opt | IMAGE | — | |
| image48opt | IMAGE | — | |
| image49opt | IMAGE | — | |
| image50opt | IMAGE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |