Nodes/Avatar Graph/Object Make Links Data
ComfyUI Node

Object Make Links Data

Share the same mesh, material, or modifiers across objects

By avatechai·Created 3 years ago·Updated 2 years ago· 264
Object Make Links Data
  • BPY_OBJ
  • BPY_OBJ
type

In Blender, "linked data" is the difference between an object and the stuff underneath it. Two objects can each have their own transform while sharing the same mesh, the same material, the same modifier stack. Edit one and both change. That's what bpy.ops.object.make_links_data() does, and that's exactly what this node is: a straight wrapper around that operator, in the Avatar Graph pack that runs Blender inside ComfyUI.

Why reach for it in an avatar workflow? Because when you rig a 2D character, you frequently duplicate a part - two eyes, two ears, mirrored strands of hair - and then realize you want them to stay in sync forever. Wire both meshes in, run this with MATERIAL, and they share a material; change the one, both update. It's the opposite tool to Make Single User, and it's the one you grab when you've finished editing and want shared data to do the remembering for you.

The mechanism. The node sets your BPY_OBJ as the active object and calls the operator with your chosen type. The operator copies the active object's data to every selected object - selection matters. If nothing else is selected, this node quietly does nothing. In the hidden Blender scene that ComfyUI drives, "selected" isn't the same as "active," so pair it with a selection node if you need predictable behavior.

The input that matters:

  • type - the data to share. The meaningful options for character work are OBDATA (mesh geometry), MATERIAL, GROUPS (vertex groups - handy before shape-key work), MODIFIERS, and ANIMATION. DUPLICOLLECTION, FONTS, and EFFECTS exist for completeness but you'll rarely touch them in a ComfyUI graph.

Output. BPY_OBJ - the same object you wired in, passed through so the chain keeps flowing. That's the standard shape of every Object_ node in this pack.

Installing it. Comes with Avatar Graph. From ComfyUI Manager search "Avatar Graph," or:

cd ComfyUI/custom_nodes
git clone https://github.com/avatechai/avatar-graph-comfyui
cd avatar-graph-comfyui
python -m pip install -r requirements.txt

Then restart with --enable-cors-header for the live preview. The catch most people hit first: this pack pins bpy==3.6.0, which demands Python 3.10.x. If your ComfyUI runs a newer Python, bpy fails to import and every Object_ node goes red. The README ships a prebuilt 3.10 ComfyUI for Windows if you don't want to fight your environment.

Troubleshooting. The #1 "it didn't work" is the selection issue above - linked-data operators are inherently multi-object, and this wrapper only guarantees one active object. Second most common: OBDATA with objects of different types (mesh vs. curve) throws an error, which the node surfaces as a failed execution. Share data between like objects and it's boring and reliable - which, for a rigging tool, is exactly what you want.

Categoryblender

Inputs (2)

NameTypeDefaultDescription
BPY_OBJoptBPY_OBJ
typeoptCOMBO8 options: OBDATA, MATERIAL, ANIMATION, GROUPS, DUPLICOLLECTION, FONTS, +2

Outputs (1)

NameTypeDescription
BPY_OBJBPY_OBJ