Nodes/Avatar Graph/Mesh Uv Texture Add
ComfyUI Node

Mesh Uv Texture Add

Opening a fresh UV slot on an Avatar Graph mesh

By avatechai·Created 3 years ago·Updated 2 years ago· 264
Mesh Uv Texture Add
  • BPY_OBJ
  • BPY_OBJ

This is a small, mechanical node, and it's worth knowing exactly what it does and doesn't do: it doesn't unwrap anything. It just opens an empty slot for UV coordinates to live in later.

What it is and why you'd reach for it

Mesh_UvTextureAdd wraps Blender's bpy.ops.mesh.uv_texture_add() directly - Avatar Graph runs actual Blender via the bpy package inside ComfyUI, and this node, like the rest of the Mesh_* family, is a thin passthrough to Blender's own operator set. In Blender, a mesh can hold multiple UV maps at once, but you have to create the channel before anything can write coordinates into it. That's all this node does: it adds a new, empty UV map slot to the mesh.

Where this shows up in the Avatar Graph pipeline: before Plane Texture Unwrap can do its UV cube project and write real coordinates, the mesh needs a UV channel to write them into. Most of the time the pack's own mesh-creation nodes handle this automatically, but if you're assembling a mesh manually or working with an object that lost or never had a UV channel, this is the node that opens the slot. It's the setup step, not the unwrap itself.

Inputs and outputs that matter

There's exactly one field:

  • BPY_OBJ (optional) - the mesh you want a new UV channel added to.

Output: a single BPY_OBJ, now carrying an additional (empty) UV map slot, ready for an actual unwrap operation to populate.

Unlike some of the other Mesh_* nodes, this one operates at the object/mesh-data level rather than needing a specific vertex/face selection - adding a UV channel isn't a selection-dependent operation the way subdividing or connecting vertices is.

Installing Avatar Graph

The pack runs on bpy, which only has wheels for Python 3.10.x - lock your environment to that version first.

ComfyUI Manager: search avatar-graph-comfyui, install, restart. Or manually:

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 (--force-fp16 on Mac too). Windows gets a prebuilt Python 3.10 environment from the README to sidestep the version pin; macOS/Linux is pointed at a dedicated conda create --name comfyui python=3.10.

Common issues

Ran it but the texture still doesn't show up correctly. That's expected - this node only creates the empty channel. You still need an unwrap step (Plane Texture Unwrap, or manual UV editing) to actually put coordinates into it, and a texture-assignment step (Object_AssignTexture) to put an image on the mesh.

Ended up with duplicate or unwanted UV channels. Running this node more than once on the same object stacks up UV slots. Its counterpart, Mesh_UvTextureRemove, deletes the active one if you need to clean up before adding a fresh channel.

Nodes not loading in ComfyUI at all. Check python --version - outside 3.10.x, bpy fails to import and this whole pack won't register.

No live avatar preview. Needs --enable-cors-header on launch to talk to the embedded editor.avatech.ai panel. Without it, run the graph as normal and export the finished mesh via right-click → Save File on Avatar Main Output.

Categoryblender

Inputs (1)

NameTypeDefaultDescription
BPY_OBJoptBPY_OBJ

Outputs (1)

NameTypeDescription
BPY_OBJBPY_OBJ