Screenshot of a node group and its custom property setup in the Node Kitchen.

A node group and its custom property setup

Screenshot the resulting custom node after cooking.

The resulting custom node

Cooking is the process of turning a node group into a custom node. This can be done with any standard node group, or after setting up any number of custom properties. Once you are happy with your setup, as described in the previous sections covering the Node Kitchen, you can proceed to cooking.

Cooking Options

Screenshot of the bottom section of the "Node Kitchen" panel. These options control some aspects of the cooking behaviour. These options are global, and will be remembered across sessions, that way, if you have a fixed workflow, you don't have to adjust them each time.

Replace Group Instances

Determines what UDON should do with the existing instances of the source node group, when cooking a custom node. There are three Replace Group Instances modes:


No instances of the source node group are replaced. UDON leaves all the existing node trees unchanged.

Active default

Only the active instance of the source node group (in the editor where the node is being cooked) is replaced with an instance of the newly created custom node.


All instances of the source node group (across the entire .blend file) are replaced with instances of the newly created custom node. Beware that this means that any node tree containing your source node group will be modified, though the behaviour of the tree(s) should remain unchanged.


When replacing group instances, UDON will try to set all the custom properties according to the state of the inner properties they are linked to, in order to preserve the state of the node trees, and avoid altering any behaviour. However, sometimes this is not possible, and in these cases UDON will display a warning explaining the issue, and offering manual solutions. UDON should never silently make any changes that alter the behaviour of any of your node trees.

Keep Node Group

When checked, UDON will preserve the source node group itself (even if the group instances are being replaced due to Replace Group Instances). Otherwise, UDON will remove the source node group. Keep in mind that you can always turn the custom node back into a node group through deconstruction.


This option is always enabled when Replace Group Instances is set to No or Active, as the node group cannot be removed if there are still instances of it in use. Additionally, the node group will not be removed, if it is used directly in a Geometry Nodes modifier, as such use cannot be replaced by a custom node.

Cook Custom Node

This button turns the active node group into a custom node, according to all the options configured in the Node Kitchen. Making it available to be accessed from the Add and Search menus, just like native nodes.


Cooking only makes a custom node available within your current .blend file. The custom node is stored within the .blend file, and is available to you whenever you work in this file. If you want to make a custom node globally available, so that it is accessible from any Blender session, you need to add it to your library, which can be done in the Node Pantry.

If a custom node with the same name already exists, the button will read ReCook Custom Node instead. That means the existing custom node will be overridden with the new version, which will also be indicated in a confirmation dialogue.


When recooking a custom node beware that if the sockets and/or properties of the new version are different, your node trees might break.

Nested Custom Nodes

When cooking a custom node from a source node group that contains other custom nodes, copies are made of all the inner custom nodes, so that they always remain in the state they are as of the time of cooking.

This means that any edits made to custom nodes do not affect any other custom nodes that contain them, so as to avoid unintended changes.

If you do want to update custom nodes contained within another custom node, you must do so by manually replacing the updated nodes within a deconstructed version of your custom node, and then recooking it.