Mesh Select Similar Region
Find every copy of a shape on the mesh
- BPY_OBJ
- BPY_OBJ
The topology-matching cousin of Mesh Select Similar, and a much narrower tool. It wraps Blender's real bpy.ops.mesh.select_similar_region operator, 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, auto-generating a node for every mesh operator Blender has.
How it works
Select a connected patch of faces - a small region with a specific shape and connectivity - and this node scans the rest of the mesh for every other group of faces that shares the same topology: the same face count, edge connections, and structure, regardless of where it sits or how it's oriented. It's genuinely useful for finding repeated units on a mesh built from duplicated patterns - every scale on a textured surface, every tooth on a gear-like shape, every instance of a hand-placed detail that got copied around.
Inputs and outputs
BPY_OBJis the only input - worth stating plainly, since it's a real departure from most of this pack's Select nodes: no comparison type, no threshold, no tuning of any kind. In real Blender,select_similar_regiongenuinely is a parameterless operator; this node just needs a starting selection that already has a matchable topology.
Output is a single BPY_OBJ, selection extended to every region elsewhere on the mesh with matching topology.
Setting expectations
Because there's nothing to configure, the entire result depends on what you feed it. It needs a real, connected group of faces selected - not a scattering of individual, disconnected faces - for there to be a topology pattern to search for in the first place. And it needs the mesh to actually contain repeated structure. A lot of Avatar Graph's own geometry (meshes built one-off from segmented image layers) simply isn't built from repeated units, so don't be surprised if this node runs and the selection doesn't grow at all - that's the mesh telling you there's nothing else like your selected region, not the node failing.
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 nail down first - the bpy package this pack is built on needs that exact minor version, and the README recommends a dedicated conda environment on macOS/Linux (conda create --name comfyui python=3.10) rather than trusting an existing Python install. 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 fine, you just save the model manually from the pack's Avatar Main Output node instead.
Common issues
Rule out the Python version first if this pack's nodes aren't loading. Beyond that, the entire troubleshooting story for this node is really one thing: an empty-feeling result (selection doesn't grow) almost always means either the starting selection isn't a coherent connected region, or the mesh genuinely has nothing else shaped like it - not a bug to chase, just a mismatch between what this operator can find and what your geometry actually contains. If you need a looser, tunable version of "select things like this," Mesh Select Similar (the property-based one, with a type/compare/threshold) is almost certainly the node you actually want instead.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| BPY_OBJopt | BPY_OBJ | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| BPY_OBJ | BPY_OBJ | — |