Mesh Uvs Reverse
Fixing a texture that's landed mirror-flipped
- BPY_OBJ
- BPY_OBJ
If your character's texture shows up backwards on a face - text reading right-to-left, an asymmetric pattern flipped the wrong way - the fix usually isn't the texture. It's the UV winding on the face it's mapped to. That's what Mesh_UvsReverse fixes.
What it is and why you'd reach for it
This node is a direct wrap of Blender's bpy.ops.mesh.uvs_reverse(). Avatar Graph embeds real Blender via the bpy package inside ComfyUI, and its Mesh_* nodes are, for the most part, thin passthroughs to Blender's own mesh operators - this is one of the simplest of them. It reverses the winding direction of the UV coordinates on selected faces, which visually mirrors whatever texture is mapped onto them, in place, without touching the mesh's actual 3D geometry.
In the Avatar Graph pipeline, UVs get generated automatically - Plane Texture Unwrap does a UV cube project on the mesh - and that automatic process occasionally produces a face where the UV winding ends up flipped relative to what you'd expect, so the applied texture (from Object_AssignTexture or from Mesh_UvTextureAdd feeding into a texture assignment) reads backwards on just that face. This node is the one-click fix rather than manually re-unwrapping.
Inputs and outputs that matter
There's only one field:
BPY_OBJ(optional) - the mesh coming in from upstream, with the UV data you want reversed.
Output is a single BPY_OBJ, its selected faces' UVs now flipped.
Like every mesh-editing node in this pack, it works on whatever's currently selected - if nothing's selected upstream in the graph, or the wrong face is selected, running this node won't produce any visible change.
Installing Avatar Graph
The whole pack depends on bpy, and bpy only ships wheels for Python 3.10.x, so that's the one thing to nail down first.
ComfyUI Manager: search avatar-graph-comfyui, install, restart. Or by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/avatechai/avatar-graph-comfyui.git
cd avatar-graph-comfyui
python -m pip install -r requirements.txt
Restart with python main.py --enable-cors-header (add --force-fp16 on Mac). Windows users get a prebuilt Python 3.10 environment from the README to avoid fighting the version pin; macOS/Linux is pointed at a dedicated conda create --name comfyui python=3.10 env.
Common issues
Texture still looks mirrored after running it. Double-check the face is actually selected - this node only touches selected geometry, and it's easy to have selected the wrong face or none at all in a graph that doesn't visually show you selection state the way Blender's own viewport does.
Texture flips on the wrong face, or an unintended one. Same root cause in reverse - the selection carried over from an earlier node in the chain covers more (or less) than you think. Trace back through the graph to whatever last touched selection.
Nodes not appearing in ComfyUI at all. Check python --version reads 3.10.x - bpy fails to import outside that range and this entire node pack won't register.
No live avatar preview. That needs --enable-cors-header at launch. Without it you still get a fully working graph; export the result via right-click → Save File on Avatar Main Output (.GLB/.GLTF) instead of watching it live in the embedded editor.avatech.ai panel.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| BPY_OBJopt | BPY_OBJ | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| BPY_OBJ | BPY_OBJ | — |