UV Reveal
Bring the hidden islands back
- BPY_OBJ
- BPY_OBJ
UV Reveal is the undo button for hiding. Whatever UV elements you (or a previous node) tucked away with UV Hide, this node brings back into view. It's the second half of the pack's "isolate, edit, restore" pattern, and if you've ever spent ten minutes thinking your mesh lost its UVs when they were just hidden, you know exactly why it exists.
How it works
It's the auto-generated Blender wrapper that calls bpy.ops.uv.reveal on your BPY_OBJ - the exact inverse of the hide operator. It enters edit mode, makes hidden UV elements visible again, and returns the same object. The one knob is select, which defaults to true: after revealing, the restored elements get selected so you can immediately act on them. Flip it off if you want them back without stealing the current selection.
Since hidden UVs are never deleted - hide is a visibility flag, not a delete - Reveal always has something to work with. If nothing was ever hidden, the node is a harmless no-op that passes your BPY_OBJ through unchanged.
Where it fits
Reveal slots in at the end of any isolation workflow. In Avatar Graph you don't get a visible UV editor to click in, so the practical rhythm is: select a region → UV Hide with unselected: true to shelve everything else → work on the isolated islands (unwrap, pack, seam) → UV Reveal to restore the full map before the mesh reaches the export or shape-flow nodes. It's also the fix if a graph you loaded looks like it "lost" the UVs on some part of the character - more often than not that's a stray Hide upstream, and Reveal clears it.
Installing Avatar Graph
This node ships in the Avatar Graph pack from Avatech. From ComfyUI/custom_nodes:
git clone https://github.com/avatechai/avatar-graph-comfyui
cd avatar-graph-comfyui
python -m pip install -r requirements.txt
then restart ComfyUI with --enable-cors-header. Or install through ComfyUI Manager by searching Avatar Graph.
The pack's known traps apply: it pins bpy==3.6.0, which only installs on Python 3.10.x, so a newer Python breaks the whole pack at pip-install time. First launch downloads the ~2.5 GB SAM model plus MediaPipe landmarkers, so be patient. And the README warns the nodes are still being changed - pin the pack once your workflow is stable.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| BPY_OBJopt | BPY_OBJ | — | |
| selectopt | BOOLEAN | true | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| BPY_OBJ | BPY_OBJ | — |