UDON Custom Node Builder

Attention

UDON is currently in public Beta (at a discounted price), and is expected to contain bugs and issues. It is not currently recommended to use UDON with production files, to avoid potential data loss. Testing and bug reports are highly appreciated.

Screenshot of the Blender node editor showing a node group called "Awesome Group" and a node called "Awesome Node", with an arrow pointing from the group to the node. The node has the same inputs and outputs as the group, but additionally has several UI properties.

UDON is the Blender add-on for making your own custom nodes.

UDON enables you to effortlessly transform any Geometry, Shader, or Compositing node group into a real node, with custom UI controls for inner node properties — without writing any code.

Custom nodes created with UDON integrate seamlessly into Blender, and behave just like native nodes. All your custom nodes appear in the standard node menu, either under one of the existing categories, or any number of new custom categories.

UDON also includes convenient library management, allowing you to make your custom nodes available across your Blender sessions, regardless of which .blend file you are working on.

!! UDON does not come with any new nodes !!

Note

UDON is required both for creating as well as using the custom nodes. Custom nodes only work with UDON enabled. Read the FAQ for more details.

Features

This is a non-exhaustive list of features, to highlight UDON's main capabilities.

Core

Node UI

Library

  • Custom nodes can be saved to the global library, making them available across sessions
  • Library nodes appear in the standard Add Node menu, just like local nodes
  • Version management:
    • Easily update custom nodes in the library when making changes to them locally
    • Instances of a custom node within a file are not affected by modifications in the library, avoiding potential incompatibilities/breakages in existing files
    • Icons let you know at a glance when a node has been modified locally or in the library
    • Pull a new version of a node from the library, updating all local instances of the node