Mesh Duplicate
Copying part of a mesh's geometry inside Avatar Graph
- BPY_OBJ
- BPY_OBJ
It's easy to mix this one up with Object Duplicate Move, and the naming similarity isn't an accident - both wrap Blender's Shift+D muscle memory, but at different levels. Mesh Duplicate works inside a mesh's own geometry, in edit-mode terms: it duplicates the currently selected vertices, edges, or faces of a mesh, producing new geometry within the same object, rather than creating an entirely new object like Object Duplicate Move does.
How it works
This wraps Blender's mesh.duplicate operator, the edit-mode duplicate you'd trigger with Shift+D while inside a mesh's edit mode rather than in object mode. That distinction matters for how you use it in a graph: this operates on whatever's currently selected within the mesh, so the result depends on selection state going into the node, not just which object you passed in. It's the node you'd reach for to repeat a piece of geometry - say, one segment of a detail pattern - without duplicating the whole object and everything attached to it.
The inputs and outputs that matter
BPY_OBJ- the object whose mesh geometry you're duplicating.mode- an integer, defaults to1. This maps to Blender's underlying duplicate-mode parameter; the schema doesn't spell out named options here the way some of this pack's enum-driven nodes do, so if you need a specific behavior beyond the default, cross-reference Blender's ownmesh.duplicateoperator documentation for what each integer value corresponds to rather than guessing.
Output is a single BPY_OBJ, the object now containing the duplicated geometry.
How to install it
ComfyUI Manager, search "Avatar Graph" and install, or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/avatechai/avatar-graph-comfyui
then pip install -r requirements.txt and restart. Needs Blender's bpy module, pinned to Python 3.10.x - a dedicated conda environment on macOS/Linux, or Avatech's prebuilt Python-3.10 ComfyUI zip on Windows with the pack installed through Manager afterward.
Common issues & troubleshooting
If the node won't load, that's the pack's Python-version pin, not this operator - check ComfyUI's startup console for an import error and confirm a clean Python 3.10.x environment with requirements.txt installed cleanly.
If nothing seems to get duplicated, the most likely cause is selection state: since this operates on whatever's currently selected in the mesh rather than the whole object unconditionally, an empty or unexpected selection upstream in your graph means an empty or unexpected result here, not a broken node. And if what you actually wanted was a full copy of the object - new transform, new object entry in the scene - rather than more geometry inside the same mesh, that's Object Duplicate Move, not this node; the two are easy to reach for interchangeably by name alone.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| BPY_OBJopt | BPY_OBJ | — | |
| modeopt | INT | 10–2147483647 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| BPY_OBJ | BPY_OBJ | — |