UV Select Linked Pick
Point at a UV spot, grab the whole island
- BPY_OBJ
- location
- BPY_OBJ
UV Select Linked Pick is the click version of the same trick as its sibling UV Select Linked. Where the plain node expands whatever is already selected, this one lets you point at a spot in UV space and say "grab everything attached here." If you know where a feature lives on the texture - the mouth island, the left eye - this is how you select it deterministically instead of hoping earlier selection nodes left you in the right place.
Like every node in the Avatar Graph pack, it's a thin wrapper around a Blender operator (bpy.ops.uv.select_linked_pick()), generated straight from Blender's operator list. The pack embeds Blender 3.6 via bpy and exposes its UV editor tools as ComfyUI nodes so you can fix avatar UVs without leaving the graph. These pick-style nodes exist because Blender's operator normally reads where your mouse is in the UV editor; here there's no mouse, so the location has to come in as data.
How it works
The shared edit-mode wrapper enters edit mode on your mesh, calls the operator with the props you wired, exits edit mode, and returns the same mesh object. The selection it makes - the entire UV island containing the point - is stored on the mesh, so whatever you chain next (a pin, a snap, a stitch) sees it.
The inputs that matter
- BPY_OBJ - the mesh, in and out.
- location (
B_VECTOR2) - the 2D point in UV space the operator "clicks." This is the one that makes the node deterministic. Honest caveat: the pack ships Vector 3D and Vector 4D helper nodes but no 2D one, so in practice most people leave location at its default and rely on extend/deselect. - extend (bool) - add the clicked island to the current selection instead of replacing it.
- deselect (bool) - remove the clicked island from the selection instead of adding it.
The two booleans are where the real power is. extend lets you build a multi-island selection one click at a time - say, both eyebrows - before you run a single downstream operation on all of them.
When to reach for it
Any time a workflow needs "the island at this coordinate" rather than "the island that happens to be selected." It's also the most forgiving of the selection nodes: if upstream selection got muddled, Linked Pick just ignores it and grabs what you point at.
Installing it
Avatar Graph is one pack, so the install is the same for every node here: it pins bpy==3.6.0, which means your ComfyUI environment must be Python 3.10. Install via ComfyUI Manager (search "Avatar Graph") or:
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 afterward. First run downloads the SAM ViT-H model (~2.5 GB) plus mediapipe landmarker models in the background. The README also warns the pack is still in active flux - "we are still making changes to the nodes and demo templates" - so if a downloaded workflow template won't load, that's usually the reason.
Troubleshooting
If the pick does nothing, the mesh almost certainly has no UV map (select operators need one to operate on). Confirm a Create Mesh Layer or equivalent ran first, and that you're feeding a BPY_OBJ, not an image. And remember: this node doesn't create anything - it only changes selection state, so "nothing happened" can genuinely mean "the island was already selected and there was nothing to change."
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| BPY_OBJopt | BPY_OBJ | — | |
| extendopt | BOOLEAN | false | — |
| deselectopt | BOOLEAN | false | — |
| locationopt | B_VECTOR2 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| BPY_OBJ | BPY_OBJ | — |