Object Set Is Library Indirect
The library-indirect flag (you can ignore it)
- BPY_OBJ
- BPY_OBJ
Blender lets you link objects from external .blend files - "library files" in Blender speak - and when a linked object was itself linked through another library, Blender flags it as indirect. ObjectSet Is Library Indirect is the node that sets that flag. Which would matter, if your avatar graphs used linked libraries at all. They don't.
Here's the straightforward truth: this node is dead weight in Avatar Graph, and knowing that will save you five minutes of wondering what you're missing. The pack drives a headless Blender instance and resets the scene to factory settings at the start of every graph run - a blank scene, no linked libraries, nothing loaded from external files. There's no indirect library linkage for the flag to describe, and the property itself (is_library_indirect) is read-only in Blender's Python API anyway. The engine sets it when it loads indirect links; you can't meaningfully set it by hand.
So why is it in the menu at all? The ObjectSet_* family is auto-generated from a dump of Blender's bpy.types.Object properties, and the generator throws everything in - genuinely useful setters next to read-mostly metadata like this one. This node is the plumbing of the pack's auto-generation, not a feature anyone designed for avatar work.
How it works
Mechanically it's identical to every other setter in the family: BPY_OBJ in, a boolean value (default false), a setattr on the Blender object, and the same BPY_OBJ passed back out so the chain continues.
Inputs that matter:
BPY_OBJ- the object whose linkage flag you're assertingvalue- boolean, defaultfalse
Installing Avatar Graph
This node ships with the whole pack:
cd ComfyUI/custom_nodes
git clone https://github.com/avatechai/avatar-graph-comfyui
cd avatar-graph-comfyui && pip install -r requirements.txt
Or ComfyUI Manager → Install Custom Nodes → search Avatar Graph → restart. The usual pack requirements: bpy==3.6.0 pins you to Python 3.10 (bundled 3.10 environment on Windows; conda on macOS/Linux), and first launch auto-downloads the SAM ViT-H segmentation model and the mediapipe face/pose landmarkers.
Common issues
There's no real failure mode here because there's nothing to trip over - the flag stays false in a fresh scene and the node is a no-op. If you're hunting for why a workflow includes it, the answer is completeness of the auto-generated node family, not function. Bypass it and move on with your day.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| BPY_OBJopt | BPY_OBJ | — | |
| valueopt | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| BPY_OBJ | BPY_OBJ | — |