Mesh Extrude Region Move
Extrude in the everyday sense of the word
- BPY_OBJ
- BPY_OBJ
When someone says "extrude" without qualifying it, this is what they mean: whatever's selected - verts, edges, or a patch of faces - comes out as one connected region, and the new geometry gets moved. It's Mesh_ExtrudeRegion (creates the new geometry, no move) with the translate bundled in, and it's the direct wrap of Blender's bpy.ops.mesh.extrude_region_move, arguably the single most commonly used extrude variant in all of Blender.
Why this exists as its own node
It's one of twenty low-level Blender operator wraps this pack ships without documenting in its own README - that document's node table covers the headline pieces (Create Mesh Layer, Mesh Modify Shape Key, Avatar Main Output), not these. The repo's dev notes describe a generate_blender_types.py script for regenerating Blender operator bindings, and this node's name is exactly what you'd expect that process to produce from Blender's own operator.
Avatar Graph, from Avatech AI, is built for turning a single character image into a 2.5D interactive avatar - segment it, generate a mesh per layer, rig eye-blink and mouth-open motion with shape keys, then stream the result live through Avatech's own web viewer. If you're hand-editing or repairing the geometry that pipeline produces, rather than relying purely on the automated steps, this is the extrude you'll reach for most often, the same way it's the default in Blender itself.
Inputs and outputs
Just BPY_OBJ in, BPY_OBJ out - no offset or distance parameter exposed anywhere in the schema. That's the one real gap between this node and how the operator behaves in Blender proper, where the "Move" half is normally driven by a live mouse drag the instant the extrude fires. With nothing exposed here to move the new geometry by, the practical read is: the extruded region lands directly on top of the original geometry, and you need a separate transform node downstream to actually displace it - check how the pack's own workflow templates chain these operators together if you want a concrete example of that pattern.
Which geometry gets extruded is, as with the rest of this family, entirely a function of the selection carried on the incoming BPY_OBJ.
Installing Avatar Graph
Search "Avatar Graph" in ComfyUI Manager and install, or go manual: cd ComfyUI/custom_nodes && git clone https://github.com/avatechai/avatar-graph-comfyui, then python -m pip install -r requirements.txt inside that folder, then restart. One catch - the README's own manual-install line clones from avatechgg, not avatechai; use the canonical URL above, the one the Manager listing and the rest of the repo agree on.
The real determinant of a successful install is Python version. bpy, Blender's Python API and this pack's core dependency, only ships wheels for specific Python builds - you need 3.10.x. A modern ComfyUI on Python 3.11/3.12 will fail to install or import it. Conda sidesteps this cleanly on Mac/Linux (conda create --name comfyui python=3.10); on Windows the author ships a dedicated prebuilt ComfyUI + Python 3.10 zip for exactly this reason.
Once it's running, restart with python main.py --enable-cors-header (Mac: add --force-fp16) if you want the live avatar preview reaching Avatech's hosted editor. Skip the flag and everything still works - you export via right-click → Save on Avatar Main Output instead.
Common issues
No model downloads, nothing exotic beyond bpy - nearly all install friction is that Python pin, and preview friction is almost always the missing CORS flag. The README's own admission that nodes and templates are still being iterated on explains why documentation on something this granular simply doesn't exist yet.
Since there's no offset value here, don't expect visible movement from this node in isolation - that's expected given the schema, not a malfunction. If you only want to create geometry without any implied displacement afterward, Mesh_ExtrudeRegion (its unmoved sibling) is the more honest choice.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| BPY_OBJopt | BPY_OBJ | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| BPY_OBJ | BPY_OBJ | — |