Node Groups

../../../_images/interface_controls_nodes_groups_example.png

Example of a node group.

Grouping nodes can simplify a node tree by hiding away complexity and reusing repetitive parts.

Conceptually, node groups allow you to treat a set of nodes as though it were just one node. They’re similar to functions in programming: they can be reused (even in different node trees) and can be customized by changing their “parameters.”

As an example, say you created a “Wood” material that you would like to have in different colors. One way of doing this would be to duplicate the entire material for every color, but if you did that, you’d have to go over all those copies again if you later wanted to change the density of the grain lines. Instead, it would be better to move the nodes that define the wood look into a node group. Each material can then reuse this node group and just supply it with a color. If you then later want to change the grain line density, you only have to do it once inside the node group, rather than for every material.

Node groups can be nested (that is, node groups can contain other node groups).

Note

Recursive node groups are prohibited for all the current node systems to prevent infinite recursion. A node group can never contain itself (or another group that contains it).

Tip

Like all data-blocks, node groups with names that start with . are normally hidden from lists and menus and can only be accessed through search. This can be useful for node asset authors to hide their internal sub-groups from the final user.

When a node group is created, new Group Input and Group Output nodes are generated to represent the data flow into and out of the group. Furthermore connections to input sockets coming from unselected nodes will become attached to new sockets on the Group Input node. Similarly, outgoing connections to input sockets of unselected nodes will become attached to the new Group Output node.

If you want to pass an additional parameter into the group, a socket must be added to the Group Input node. To do this, drag a connection from the hollow socket on the right side of the Group Input node to the desired input socket on the node requiring an input. The process is similar for the Group Output regarding data you want to be made available outside the group.

Properties

Group

Reference

Panel:

Sidebar ‣ Group ‣ Group

../../../_images/interface_controls_nodes_groups_interface-group-panel.png

The Group panel.

This panel contains properties that relate the group node such as it’s name and look.

Name

The name of node as displayed in the Title.

Description

The message displayed when hovering over the Title or in add menus.

Color Tag

Color tag of the node group which influences the header color.

Usage Geometry Nodes

This panel is only visible in the Geometry Node Editor.

Modifier

The node group is used as a Geometry Nodes Modifier.

Tool

The node group is used as a Node-Based Tools.

Group Sockets

Reference

Panel:

Sidebar ‣ Group ‣ Group Sockets

../../../_images/interface_controls_nodes_groups_interface-group_sockets_panel.png

The Group Sockets panel.

This panel is used to add, remove, reorder, and edit the sockets of the group’s input and output.

Socket List

A List View of all inputs, outputs and panels.

Here you can name the socket which is displayed in the node’s interface.

Description

The message displayed when hovering over socket properties.

Closed by Default Panels

Panel is closed by default on new nodes.

Default

The value to use when nothing is connected to the socket.

Min, Max

The minimum and maximum value for the UI button shown in the node interface. Note, this is not a minimum or maximum for the data that can pass through the node. If a socket passes a higher value than the maximum, it will still pass into the node unchanged.

Geometry Nodes

Default Input

Input to use when the socket is unconnected. Requires Hide Value to be enabled.

Hide Value

Hide the socket value even when the socket is not connected.

Hide in Modifier

Don’t show the input value in the geometry nodes modifier interface. This allows the input to be used in the context of a node group but not as a modifier input.

This option is only available for geometry nodes and only for input sockets.

Single Value

Only allow single value inputs rather than Fields.

Make Group

Reference

Menu:

Node ‣ Make Group

Shortcut:

Ctrl-G

To create a node group, select the nodes you want to include, then press Ctrl-G or click Group ‣ Make Group. A node group will have a green title bar. All selected nodes will now be contained within the node group. Default naming for the node group is “NodeGroup”, “NodeGroup.001” etc. There is a name field in the node group you can click into to change the name of the group. Change the name of the node group to something meaningful.

When appending node groups from one blend-file to another, Blender does not make a distinction between material node groups or composite node groups. So it is recommended to use some naming convention that will allow you to distinguish between the two types.

Tip

The “Add” menu of each node editor contains an “Output” category with node types such as “Material Output.” These node types should not be confused with the “Group Output” node found in node groups, and should not be used in node groups either (only in the top-level node tree).

Insert Into Group

Reference

Menu:

Node ‣ Insert Into Group

Moves the selected nodes into the active group node. To use, select a set of nodes, ending with the destination group node, then, running the operation will move those nodes into that group. The moved nodes are collected into a group of their own to preserve their connection context, having their own group input and output nodes. The group’s existing input and output nodes are updated with new sockets, if any, from the new nodes. The node group must be edited to contain a single Group Input and a single Group Output node.

Edit Group

Reference

Menu:

Node ‣ Edit Group

Header:

Go to Parent Node Tree

Shortcut:

Tab, Ctrl-Tab

With a node group selected, press Tab to move into it and see its content. Press Tab again (or Ctrl-Tab) to leave the group and go back to its parent, which could be the top-level node tree or another node group. You can refer to the breadcrumbs in the top left corner of the node editor to see where you are in the hierarchy.

../../../_images/render_cycles_optimizations_reducing-noise_glass-group.png

Example of an expanded node group.

Ungroup

Reference

Menu:

Node ‣ Ungroup

Shortcut:

Ctrl-Alt-G

Removes the group and places the individual nodes into your editor workspace. No internal connections are lost, and now you can link internal nodes to other nodes in your workspace.

Separate P

Separate selected nodes from the node group.

Copy

Copy to parent node tree, keep group intact.

Move

Move to parent node tree, remove from group.

Reusing Node Groups

Reference

Menu:

Add ‣ Group

Shortcut:

Shift-A

Existing node groups can be placed again after they’re initially defined, be it in the same node tree or a different one. It’s also possible to import node groups from a different blend-file using File ‣ Link/Append.