Mesh Select All
The reset button for whatever's selected
- BPY_OBJ
- BPY_OBJ
Almost every mesh operation in this pack - Rip, Screw, Reveal, Quads Convert To Tris - acts on whatever's currently selected, and a graph with no explicit selection logic inherits whatever selection state a mesh happened to be created with. This node is the blunt instrument that fixes that: Blender's real bpy.ops.mesh.select_all operator, exposed as a ComfyUI node. It's part of Avatar Graph, the pack that runs actual Blender inside ComfyUI's process (via the bpy Python package) to build interactive 2D-to-3D avatars, and which auto-generates a node for every mesh operator Blender exposes. Of all of them, this is probably the one you'll reach for most, simply because so many other nodes need a deliberate selection state going in.
How it works
It's a single operation with four modes, applied to the whole mesh at once - no region or filter, just everything:
SELECT- select every vertex, edge, and face. The one you'll use most, usually right after creating a fresh primitive when you want the next node to act on the entire mesh.DESELECT- clear the selection entirely. Useful before building up a more targeted selection with one of this pack's other Select nodes.INVERT- flip the current selection: everything selected becomes deselected and vice versa.TOGGLE- select everything if anything is currently deselected, or deselect everything if it's all already selected. Handy as a one-node "make sure something is selected" step, less predictable if you actually need a specific state.
Inputs and outputs
BPY_OBJ- the mesh coming in from earlier in the graph.action- one of the four modes above; this is the only real decision this node makes.
Output is a single BPY_OBJ - the same object, with its selection state updated, ready for whatever operates on that selection next.
Installing it
ComfyUI Manager: search "avatar-graph-comfyui", install, restart. Manually: cd ComfyUI/custom_nodes && git clone https://github.com/avatechai/avatar-graph-comfyui, then cd avatar-graph-comfyui && python -m pip install -r requirements.txt, then restart.
Python 3.10.x is the requirement to sort out first - the bpy package this pack is built on needs that exact version, and the README recommends a dedicated conda environment on macOS/Linux (conda create --name comfyui python=3.10) rather than relying on an existing setup. Windows users get a prebuilt ComfyUI + Python 3.10 zip linked in the README to unzip over their install before adding the pack via Manager. Restart with --enable-cors-header (macOS also wants --force-fp16) for the live 3D preview - without it, the graph still runs, you just save the model manually via the pack's Avatar Main Output node instead.
Common issues
If this pack's nodes aren't loading, check the Python version first - anything other than 3.10.x means bpy has no working build. On this node itself, the usual mistake is picking TOGGLE when you actually wanted a guaranteed state - if you need geometry definitely selected or definitely deselected regardless of what came before, use SELECT or DESELECT explicitly rather than TOGGLE, which depends on whatever state the mesh happened to already be in. Beyond that, remember this node (like every mesh node in this pack) expects a real mesh BPY_OBJ coming in from earlier in the same graph - feed it something else and it'll surface as a Blender-side error rather than a clean failure.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| BPY_OBJopt | BPY_OBJ | — | |
| actionopt | COMBO | 4 options: TOGGLE, SELECT, DESELECT, INVERT |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| BPY_OBJ | BPY_OBJ | — |