Automation helpers that keep Blender's node editor tidy, readable, and fast to iterate.
Blender's node editor gets cluttered fast. Node Editor Tools ships with a growing toolbox of handlers and operators that automate the repetitive bits—naming, splitting, hiding, wiring—so you can stay focused on the look of your graph instead of its housekeeping.
- Automatic Seed Randomization – Injects hidden Random Value chains when a linked socket is named "Seed", ensuring every instance gets a unique offset.
- Single-Socket Group Cleanup – Detects lonely group input/output sockets, collapses the node, and labels it after the exposed socket.
- Split & Merge Group Inputs – Context menu operator that spawns one Group Input per link, destination node, or source socket; also merges them back together on demand.
- Hide & Resize Toggle – Double-press
Hto shrink hidden nodes (or restore their default width) without touching visibility flags. - Extensible Handler System – Drop in your own
NodeTreeHandlerto react to node tree events alongside the built-ins.
- Blender 4.2.0 or newer (matches the
blender_manifest.tomlminimum). - Access to the Shader, Geometry, or Compositor node editors.
- Permission to install add-ons on your Blender installation.
- Download the latest
.zipbuild (either from a release or using the build helper below). - In Blender, open Edit ▸ Preferences ▸ Add-ons.
- Click Install…, choose the downloaded archive, and enable Node Editor Tools.
-
Copy
.env.exampleto.envand setBLENDER_PATHto your Blender executable. -
Ensure Python 3.11+ is on your PATH.
-
Run:
python build.py validate python build.py build
The packaged add-on will appear in the
build/directory. -
(Optional) Install straight into Blender for rapid iteration:
python build.py install
- Enable Node Editor Tools in Edit ▸ Preferences ▸ Add-ons.
- Open any node editor (Shader, Geometry, Compositor, etc.).
- Start creating or editing a node group—handlers run automatically in the background, and operators show up in context menus and shortcuts.
- Seed Randomizer activates when a group exposes a socket named "Seed" that is linked in the node editor. A hidden Random Value node (plus an Integer offset) is inserted and wired for you so every consumer receives a unique seed.
- Single Socket Cleanup activates on node tree changes. If a node exposes exactly one visible socket, it collapses the node, hides it, and renames it to match the socket label.
- Select one or more Group Input nodes.
- Right-click to open the context menu and pick Split/Merge.
- Choose a mode in the popup:
- Link – creates one hidden Group Input per outgoing link.
- Destination Node – clusters connections per receiving node.
- Source Socket – keeps one node per exposed socket.
- Merge All – collapses multiple inputs back into a single node.
Each generated Group Input is hidden and labelled for quick inspection. Run the operator again at any time to return to a compact setup.
Toggle Process Individually in the popup if you prefer each selected Group Input to be split on its own. Leave it disabled to merge all selected nodes before splitting—ideal for building a unified input layout in one pass.
- Double-tap
Hin the node editor (with the add-on enabled) to run Hide and Resize Nodes. - Hidden nodes shrink to their minimum width, keeping them out of the way while still accessible.
- Visible nodes temporarily expand back to their default width, aiding readability.
- Handlers live in
src/node_tree_handlers/. Implement theNodeTreeHandlerprotocol and register your class insidesrc/node_tree_handlers/__init__.pyto add new automation. - Operators and menus reside under
src/operators/andsrc/interface/; they register automatically via their respective__init__.pyfiles. - Utility helpers shared between handlers/operators live in
src/utils/.
- The project uses Blender's extension tooling via
build.py. python build.py validatevalidates the manifest without building the package.python build.py buildpackages the add-on intobuild/blender_tools.zip.python build.py installinstalls directly into the Blender specified byBLENDER_PATH—handy for testing changes quickly.
- Re-run
python build.py validateif Blender refuses to install the archive—errors will reference missing metadata or incompatible files. - Ensure the Node Editor context is active when testing shortcuts; handlers only process events for supported node spaces.
- Delete the add-on folder from your Blender configuration and reinstall if upgrades behave unexpectedly.
Distributed under the terms of the GPLv3.