UV Select More
UV Select More is the expand button — and it's a one-trick, one-input node
- BPY_OBJ
- BPY_OBJ
UV Select More is the simplest node in the whole Avatar Graph pack. One input, one output, no settings, no enums, no threshold. Its entire personality is "grow the selection outward by one ring of connected UVs." That's it. And it's genuinely useful, because most avatar UV cleanup comes down to nudging a selection outward until it covers what you actually meant to grab.
It's a direct wrapper around Blender's bpy.ops.uv.select_more(), part of the pack's auto-generated UV operator family (the README doesn't document these - they're machine-generated from Blender's operator list in blender/ops_mesh.py). Think of it as the UV-space sibling of Blender's "Select More" in edit mode: take every selected UV, then also select everything directly connected to it.
How it works
The shared wrapper enters edit mode on your BPY_OBJ, calls select_more(), exits edit mode, and returns the same object. The selection change persists on the mesh, which is what makes chaining it possible. Grab one vertex, hit UV Select More twice, and you've expanded to a fat ring around it. The whole operation is selection-only; no geometry, no UV coordinates are touched.
There's a Blender sibling, "Select Less," which shrinks a selection instead - the pack ships that too. The two together are how you dial a selection to exactly the size you want: overshoot with More, then trim back with Less.
When you'll actually use it
Avatar workflows have a recurring move: you've selected a small feature's UVs (the corner of the mouth, a lash line) and you want a slightly larger halo of UVs around it before pinning, snapping, or assigning to a vertex group. That halo is what UV Select More hands you. It's also the easiest way to rescue a selection that's too sparse to be useful - a couple of More steps turns scattered points into a solid region.
Inputs and outputs
- BPY_OBJ in - the mesh object to grow selection on (a Blender object reference from this pack's graph, not a ComfyUI image).
- BPY_OBJ out - the same mesh, ready to feed the next blender node.
No booleans, no numbers. If you ever find yourself wanting "More but with a setting," you've misjudged the node - that's what chaining two of them in a row is for.
Installing it
Avatar Graph is a single pack, so the install is identical across every node: it requires Python 3.10 because it pins bpy==3.6.0. ComfyUI Manager users search "Avatar Graph" and hit install; everyone else:
cd ComfyUI/custom_nodes
git clone https://github.com/avatechai/avatar-graph-comfyui
cd avatar-graph-comfyui
python -m pip install -r requirements.txt
Restart ComfyUI, then let the first launch pull the SAM ViT-H model (~2.5 GB) and mediapipe landmarker files. That auto-download surprises people every time; it's expected.
Troubleshooting
The one real failure mode: if nothing is selected upstream, Select More has nothing to grow from, so it silently no-ops. It's a greedy node - it never creates selection from nothing. And as always with this pack, double-check you're feeding it a BPY_OBJ and that the mesh actually has a UV map; without one, there's nothing for the operator to select.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| BPY_OBJopt | BPY_OBJ | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| BPY_OBJ | BPY_OBJ | — |