Dynamic Group Selector
Pick the group, then pick the item inside it
- input_0
- OUTPUT
A plain selector answers one question: which input do I pass through? DynamicGroupSelector answers two: which group of inputs, and which item inside that group. It's the second layer of the Group/Selector pairing from the wakaura-asaho/comfyui-dynamic-selector pack, and it exists for the cases where a single-layer switch isn't enough - you're not choosing between LoRA A and LoRA B, you're choosing between a whole set of assets and then which asset from that set. The README's example is character asset packs: switch the whole pack, then pick the character.
You'd reach for it when your workflow has several sets of same-type data - a few images per style, a few LoRAs per character, a few checkpoint clusters - and you want one node that lets you index into any of them. A single DynamicTypeSelector can only index into one flat list; the Group Selector indexes into as many lists as you give it.
How it works
Feed it GROUP objects - the output of DynamicGroup nodes - into its own input_0, input_1, … slots (add more via the right-click menu, up to 99). Then two integers do the work:
select_group- zero-based index of which GROUP input to access.0reads the first group,1the second, and so on.index- zero-based index of the item to pull from inside that group.
So select_group=1, index=2 means "give me the third item in the second group." The output (OUTPUT) is whatever type that item is, flowing into whatever normally consumes it. Out-of-range indexes raise a clear error telling you how many items the group actually holds, and if you ask for a group slot that isn't connected, validation stops you before execution rather than at some confusing point downstream.
Type Strict
The one toggle that matters beyond the two indexes is type_strict. Its tooltip is the author's own contract: "If different types of data get passed into the node, raise an error." With it on, the node checks that every connected group carries the same underlying type and aborts the run if one group holds models while another holds images. Off, and it just grabs whatever you asked for and hopes the downstream node agrees. For anything you're going to run on autopilot, leave it on - a fast, loud failure beats a silent type mismatch inside a sampler.
The inputs that matter
select_groupandindex- the two-level selection, both zero-based.type_strict- consistency guard, worth leaving on.input_0,input_1, … - the GROUP inputs; add more from the right-click menu.
Installing it
No models, no heavy dependencies - the pack only needs a recent ComfyUI frontend. ComfyUI Manager → "Install via Git URL" → paste https://github.com/wakaura-asaho/comfyui-dynamic-selector → restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/wakaura-asaho/comfyui-dynamic-selector
# restart ComfyUI
Gotchas
The node only accepts GROUP connections on its dynamic inputs - that's enforced at connect time, so you can't accidentally wire a raw model into it. The real beginner trap is forgetting which layer you're indexing: select_group and index both start at zero, and they're easy to confuse if your workflow doesn't label things. Name your groups and keep the order stable, because these nodes select by position, not by name. Like everything in this pack, it's experimental and written for the new V3 node API - if the node won't load after install, update ComfyUI (frontend >= 1.37.11) before debugging anything else.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| select_group | INT | 00–99 | Zero-based index of which GROUP input to select. |
| index | INT | 00–99 | Zero-based index of the item to select from within the chosen group. |
| type_strict | BOOLEAN | If different types of data get passed into the node, raise an error. | |
| input_0 | GROUP | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| OUTPUT | * | — |