Object Drop Geometry Nodes
Blender's asset-drag operator, not a graph tool
- BPY_OBJ
- BPY_OBJ
Skip this one unless you already know exactly why you need it. Object Drop Geometry Nodes wraps bpy.ops.object.drop_geometry_nodes() - the operator Blender fires internally when you drag a Geometry Nodes group asset out of the Asset Browser and drop it onto an object in the 3D viewport, which assigns that node group to the object via a new Geometry Nodes modifier. Outside of that live drag-and-drop interaction, there's no node group reference for it to act on.
Where it fits in Avatar Graph
Avatar Graph (avatechai/avatar-graph-comfyui) turns a flat character portrait into a real-time avatar through segmentation, mesh layers, and shape-key-driven Shape Flow - none of which touches Geometry Nodes assets. This node exists because the pack auto-generates a node for a huge swath of Blender's object.* operator namespace, and UI-drag operators like this one got swept in along with the genuinely useful ones. It's not part of any documented Avatar Graph workflow.
How it works
In real Blender, dragging a node-group asset onto a viewport fires this operator with a session_uuid that ties the call back to whatever asset was actively being dragged at that moment - Blender looks that session up internally to know which node group to attach. A ComfyUI graph has no equivalent live drag session, so calling this node with an arbitrary session_uuid doesn't give it anything real to look up.
Inputs and outputs
BPY_OBJ(optional) - the object the drop would target.session_uuid(default0) - the drag-session identifier; without a genuine one from Blender's UI, this is inert.
Output: a single BPY_OBJ, passed through.
If what you actually want is to attach a specific, known geometry node group to an object from within a graph, Object_GeometryNodeTreeCopyAssign - also in this pack - is the closer fit, though it works off Blender's currently-active node group/modifier context rather than a name you supply directly, so it has its own caveats worth reading about separately.
How to install it
ComfyUI Manager: search "avatar-graph-comfyui", install, restart. Or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/avatechai/avatar-graph-comfyui
cd avatar-graph-comfyui && python -m pip install -r requirements.txt
bpy needs Python 3.10.x exactly - nothing newer works, which is the actual blocker most people hit before they've touched a single node. Windows gets a prebuilt Python 3.10 ComfyUI zip from the README; macOS/Linux should get a dedicated conda create --name comfyui python=3.10 environment rather than reusing an existing 3.11/3.12 ComfyUI setup. Add --enable-cors-header on restart for the live avatar preview in editor.avatech.ai (Mac also wants --force-fp16); without it, you still get full functionality via .glb/.gltf export.
Common issues & troubleshooting
Nearly all install failures trace back to Python version - a fresh ComfyUI environment on 3.11 or 3.12 (the default almost everywhere today) simply can't import bpy, and the pack won't register any of its nodes, this one included.
For this specific node: if it appears to do nothing when you run it, that's expected, not broken - there's no real asset-drag session for it to consume. If your goal is scripted node-group assignment rather than reproducing a UI drag, look elsewhere in the pack's geometry-nodes nodes before spending time here.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| BPY_OBJopt | BPY_OBJ | — | |
| session_uuidopt | INT | 0-2147483648–2147483647 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| BPY_OBJ | BPY_OBJ | — |