Nodes/Avatar Graph/Object Select All
ComfyUI Node

Object Select All

The node that reminds you most Blender ops care about selection

By avatechai·Created 3 years ago·Updated 2 years ago· 265
Object Select All
  • BPY_OBJ
  • BPY_OBJ
action

Object Select All is Blender's select_all operator wearing a ComfyUI jacket, and it's one of those nodes you dismiss until you realize half your pipeline silently depends on selection state. Most bpy.ops.object.* operations act on whatever is selected, not on the object you wired in - so selection nodes are the actual control flow of an Avatar Graph workflow.

What it does

It calls bpy.ops.object.select_all with an action enum. The four options are Blender's four moods:

  • SELECT - grab everything in the scene.
  • DESELECT - clear the selection entirely.
  • TOGGLE - flip each object's selected state.
  • INVERT - select everything currently unselected, deselect everything selected.

There's one input (BPY_OBJ, which becomes the active object) and one output (BPY_OBJ, the same object). The output doesn't change, because the node's whole job is to mutate the scene's selection - the wire is mostly so it slots into your chain without breaking the flow.

Why selection matters so much here

Say you want to join three mesh layers. The Join Meshes node grabs selected objects and combines them - if nothing's selected, it joins nothing. That's why templates chain selection nodes before destructive ops: Select All to make sure everything's in, or Select All with DESELECT to isolate one object so a delete doesn't take the whole avatar with it. Get the ordering wrong and you get silent "nothing happened" failures.

It's worth knowing these nodes are auto-generated from the pack's operator list - 'select_all' lives in object_api in ops_mesh.py - and they run against a headless Blender scene that resets between runs. Selection never persists across queue runs. Every execution builds selection fresh, which is exactly why you see selection nodes sprinkled through the templates rather than set once and forgotten.

Installing it

Part of the Avatar Graph pack. ComfyUI Manager → search "Avatar Graph" → install → restart, 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

Pack-wide caveats: bpy==3.6.0 needs Python 3.10, and first import auto-downloads the ~2.5GB SAM checkpoint plus mediapipe models. When a "should affect everything" node does nothing, the first thing to check is your last Select All - it's the rare node whose whole point is to be the setup for the next one.

Categoryblender

Inputs (2)

NameTypeDefaultDescription
BPY_OBJoptBPY_OBJ
actionoptCOMBO4 options: TOGGLE, SELECT, DESELECT, INVERT

Outputs (1)

NameTypeDescription
BPY_OBJBPY_OBJ