Utilities
Utilities nodes: Math, Text, Vector, Bundle, Closure, Field….
Add menu - Utilities

Utility nodes are mainly for mathematical operations with fields, values and elements.
For Each Element

The For Each Element Node enables iterative operations on individual elements of a geometry. This node is ideal for tasks requiring unique processing for each element, such as creating distinct objects or attributes for every element: a face, vertex, or curve or other domain.
Note: The For Each Element Node is best for creating detailed or complex geometry for every element of an input. For instance, you can use it to generate a unique tree for each curve or a distinct building on every face of a mesh.
However, it's less efficient for handling tiny elements, like individual strands of hair. Processing small parts separately can slow things down because Blender isn’t able to optimize the operation effectively. For projects with many elements, it's better to design your node setup to avoid working on very small pieces one at a time. In this case, it is best to run operations directly on field domains.
For Each Element Input
Inputs
| Entry | What it does |
|---|---|
| Geometry | The input geometry whose elements will be processed individually. This can include meshes, curves, or other geometry types. |
| Selection | Specifies which subset of elements to process. This allows filtering based on boolean attributes or conditions per field – typically used as a true/false mask. |
Properties

Element
Defines which element of which domain will be used.
The input geometry is divided into individual geometries, each corresponding to a single element. During each iteration, the node processes one of these single-element geometries.
Note: However, this functionality does not apply to the Face Corner domain, as face corners are inherently tied to their parent face and cannot exist independently.
Output
| Entry | What it does |
|---|---|
| Index | Provides the Index integer of the current elements of the selected domain to be processed. |
| Element | Returns a Geometry output with the list of elements for iteration. |
For Each Element Output

Inputs
Main Geometry
The Main Geometry outputs create attributes on the "main" output geometry (the first output). Each value calculated within the zone becomes part of the attribute at the corresponding index of this output.
Note: Default is blank.
Generated

Result of joining generated geometries from each iteration.
The Generated inputs contain the individual geometry elements processed inside the zone. This includes any fields and attributes from different domains associated with these elements.
Note: Default is the result of joining generated geometries for each iteration.* *You can connect any new attribute or filed and output new generated elements and custom fields from the zone.
Properties

| Entry | What it does |
|---|---|
| Main Geometry | The main geometry sockets. |
| Generated Geometry | The generated geometry sockets from the zone. |
Socket Type

What input input and output socket type to evaluate from each iteration in the zone.
Inspection Index
Iteration index that is used by inspection features like the viewer node or socket inspection
Output
| Entry | What it does |
|---|---|
| Geometry | The original input geometry with potentially new attributes that are output by the zone. |
| Element | Result of joining generated geometries or attributes from each iteration. |
Index Switch

The Index Switch node is meant as a simpler version of the Menu Switch node. It doesn't allow naming items or displaying them in a dropdown, but still allows choosing between an arbitrary number of items, unlike the regular Switch node where you can just switch between two states.
Inputs
Index
Wich input to choose.
0 , 1 ...

The available input index types that you want to switch between. You can define more input sockets in the sidebar.
Properties
Data Type

What input type to evaluate.
Outputs
Output
The output index.
Menu Switch

The Menu Switch node selects and computes one input based on a user-defined menu. Only the selected input is computed.
Menu entries can be added, removed, renamed, and reordered. Renaming keeps existing input links.
The menu can be used in node groups and the nodes modifier UI. Connecting the menu to a Group Input node exposes it as a group input. A menu needs to be connected to a Menu Switch node to work. An unconnected menu is empty.
Connecting multiple Menu Switch nodes to the same output creates a conflict. To avoid this, a menu switch can be grouped. Multiple groups of the same type can connect to the same menu.
Note: You cannot plug in the same value socket into the Menu selector. If you’d like to use the same value for various Menu Switches, group the Menu Switch into a Node Group and use the top-level switch override.
Top Level Grouped Menu Switches with same inputs: | Conflict caused by Same Level menu Switch inputs: |
Inputs
A / B
Becomes the output if the value is chosen.
Menu

Determines which of the input options will be selected and passed through as the default.
A , B ...
The available input index types that you want to switch between. You can define more input sockets in the sidebar Menu Switch panel.
Note: You can add more menu switch options to the empty socket.
Properties
Data Type

Determines the type of the data that is handled by the node.
Outputs
Output
The output index.
Random Value

Generates a random value.
Input
| Entry | What it does |
|---|---|
| Min | The minimum value of the range. This input is only available for Float, Integer, and Vector types. |
| Max | The maximum value of the range. This input is only available for Float, Integer, and Vector types. |
| ID | An ID to drive the random number generator seed. By default, this input uses the same value as if the ID Node, which is the id attribute of the context geometry if it exists, and otherwise the index. |
| Seed | The random seed for the random number generation. |
Properties
Data Type

What kind of random value to create. The items should be self explaining.
Output
Value
The output value.
Repeat

When adding a repeat zone, two nodes are added with a “zone” set between them. The inputs connected to the Repeat Input node reads and gets data at the beginning of the loop before starting the looping - then the data is processed within the zone, here you can set any changes to the data to then repeat the execution again at the beginning of the chain for the next iteration of the loop. This chain of operations is repeated the specified number of times in the Repeat Input node.
In the example in the image above, we duplicate the cube, transform it with a rotation, then join it together again. We do this 8 times in a loop, creating a circular array.
Note: It is not possible to set data outside the Repeat Zone, you can only get data from outside the Repeat Zone. Any data connected from the outside of the zone are constant throughout every iteration based on their value at the current frame. The result of the looping can only be accessed via the Repeat Output node.
Repeat Zone Input
The beginning of the iteration or loop.
Input
Iterations
Number of repetitions or loops.
Geometry
Standard geometry input.
Output
Geometry
Standard geometry output.
Repeat Zone Output
The result and output of the iteration or loop. You can define custom attributes outputs here from the
| Entry | What it does |
|---|---|
| Input | Geometry: Standard geometry output. |
| Output | Geometry: Standard geometry output. |
Switch

Switch between two inputs values based on a boolean.
Inputs
| Entry | What it does |
|---|---|
| Switch | The boolean switch. |
| A | The input value A. Used when the switch is off. |
| B | The input value B. Used when the switch is on. |
Properties
Input Type

What input type the values are, which defines what type to output then.
Outputs
Output
Numerical value output.
Math
Add menu - Utilities - Math

Utility nodes are mainly for mathematical operations.
Bit Math

Performs a bit math operation between its inputs.
Inputs
The inputs depends of the chosen method.
Properties
Operation

| Entry | What it does |
|---|---|
| And | Returns a value where the bits of A and B are both set. |
| Or | Returns a value where the bits of either A or B are set. |
| Exclusive Or | Returns a value where only one bit of A and B is set. |
| Not | Returns the opposite bit value of A, in decimal it is equivalent of A = -A -1 |
| Shift | Shifts the bit values of A by the specified Shift amount. Positive values shift left, negative values shift right. |
| Rotate | Rotates the bit values of A by the specified Shift amount. Positive values rotates left, negative values rotates right. |
Output
Boolean
Standard Boolean output.
Boolean Math

The Boolean Math node performs a basic logical operation between its inputs.
Inputs
Boolean
Two standard Boolean inputs.
Properties
Operation

| Entry | What it does |
|---|---|
| And | True if both inputs are true. |
| Or | True if either or both inputs are true. |
| Not | True if both inputs are false. |
| Not And (NAND) | True when at least one input is false. |
| Nor (NOR) | True when both inputs are false. |
| Equal (XNOR) | True when both inputs are equal. |
| Not Equal (XOR) | True when both inputs are different. |
| Imply (IMPLY) | True unless the first input is true and the second is false. |
| Subtract (NIMPLY) | True when the first input is true and the second is false. |
Output
Boolean
Standard Boolean output.
Integer Math

The Boolean Math node provides mathematical operations with integers.
Inputs
Value
Two standard value inputs.
Properties
Functions

The available mathematical functions to manipulate the input integers.
Output
Value
The value output.
Clamp

Clamps a value between a minimum and a maximum.
Inputs
| Entry | What it does |
|---|---|
| Value | The input value to be clamped. |
| Min | The minimum value. |
| Max | The maximum value. |
Properties
Clamp Type

| Entry | What it does |
|---|---|
| Min Max | Clamp values using Min and Max values. |
| Range | Clamp values between Min and Max range. |
Outputs
Result
The input value after clamping.
Compare

The Compare node takes two inputs and does a math comparison between them.
Inputs
A, B
Standard float value input.
Properties
Input Type

What kind of data to compare.
Operation

| Entry | What it does |
|---|---|
| A is less than B | True if A is smaller than B. |
| A is lesser than or equal B | True if A is smaller or equal than B. |
| A is greater than B | True if A is bigger than B. |
| A is greater than or equal B | True if A is bigger or equal than B. |
| A is equal B | True if A and B are the same. |
| A is not equal B | True if A and B are different. |
Output
Result
Standard Boolean output.
Float Curve

The Float Curve node maps an input float to a curve and outputs a float value. This curve can then be used for profiles for example.
Inputs
| Entry | What it does |
|---|---|
| Factor | How strong the input influences the output value. |
| Attribute | The input value. |
Properties
Curve Field
Channel buttons

Clicking on one of the channels displays the curve for each.
C (Combined RGB), R (Red), G (Green), B (Blue).
Navigation elements

They are described from left to right.
Zoom in and out
The two buttons with the magnifying glass at it zooms in and out in the curve window.
Clipping Options

Clipping options. Set up clipping for the stroke.
Tools

Tools is a menu where you can find some curve related tools.
| Entry | What it does |
|---|---|
| Reset View | Resets the curve windows zoom. |
| Extend horizontal | Extends the curve before the first curve point and behind the last curve point horizontally. |
| Extend extrapolated | Extends the curve before the first curve point and behind the last curve point extrapolated. |
| Reset Curve | Resets the curve to the initial shape. |
Curve edit field
Create and tweak a Bezier curve that varies the input levels (X axis) to produce an output level (Y axis).
Selecting Points

You can select curve points. This reveals two edit boxes for the x and y coordinate of this point.
Selected points can be moved around. Left click at them, hold the mouse button down and move them to a new location.
Adding Points

You can add new curve points by simply left clicking at the curve. Move the mouse to position them where you need it.
Curve point settings

When you have a point selected then you will reveal further settings at the bottom.
| Entry | What it does |
|---|---|
| Vector Handle | Set handle type to Vector. |
| Auto Handle | Set handle type to Auto. |
| Auto Clamped Handle | Set handle type to Auto Clamped. |
Output
Value
The output value.
Float to Integer

Converts a floating point value into an integer value.
Inputs
Float
The input float value.
Properties
Rounding Mode

How the float value should be converted.
Outputs
Integer
The output integer value.
Hash Value

The hash value converts a value input into a hashed value.
Note that Hashes cannot be relied upon to be used as unique identifiers because they are not guaranteed to be unique. It can be used to generate somewhat stable randomness especially in cases where White Noise does not offer enough flexibility.
Input
| Entry | What it does |
|---|---|
| Value | The input value. |
| Seed | A seed to randomize the value. |
Properties

Data Type
What data type to create.
Output
Hash
The hash value output.
Map Range

This node converts (maps) an input value range into a destination range. By default, values outside the specified input range will be proportionally mapped as well. This node is similar to Map Value node but provides a more intuitive way to specify the desired output range.
Inputs
| Entry | What it does |
|---|---|
| Value | Standard value input. |
| From Min | Start of the input value range. |
| From Max | End of the input value range. |
| To Min | Startof the destination range. |
| To Max | End of the destination range. |
Properties
Data Type

The data type to calculate.
Interpolation Type

how to interpolate the values between min and max.
Clamp
Clamps values to Min/Max of the destination range.
Outputs
Value
Standard value output.
Math

The Math Node performs math operations.
Inputs
The inputs of the node are dynamic. Some inputs are only available with certain operations. For example, the Addend input is only available in the Multiply Add operator.
| Entry | What it does |
|---|---|
| Value | Input Value. Trigonometric functions read this value as radians. |
| Addend | Input Addend. |
| Base | Input Base. |
| Exponent | Input Exponent. |
| Epsilon | Input Epsilon. |
| Distance | Input Distance. |
| Min | Input Minimum. |
| Max | Input Maximum. |
| Increment | Input Increment. |
| Scale | Input Scale. |
| Degrees | Input Degrees. |
| Radians | Input Radians. |
Properties
Operation

The mathematical operator to be applied to the input values:
| Entry | What it does |
|---|---|
| Functions | Add: The sum of the two values. · Subtract: The difference between the two values. · Multiply: The product of the two values. · Divide: The division of the first value by the second value. · Multiply Add: The sum of the product of the two values with Addend. |
| Power | The Base raised to the power of Exponent. · Logarithm: The log of the value with a Base as its base. · Square Root: The square root of the value. · Inverse Square Root: One divided by the square root of the value. · Absolute: The input value is read with without regard to its sign. This turns negative values into positive values. · Exponent: Raises Euler’s number to the power of the value. |
| Comparison | Minimum: Outputs the smallest of the input values. · Maximum: Outputs the largest of two input values. · Less Than: Outputs 1.0 if the first value is smaller than the second value. Otherwise the output is 0.0. · Greater Than: Outputs 1.0 if the first value is larger than the second value. Otherwise the output is 0.0. · Sign: Extracts the sign of the input value. All positive numbers will output 1.0. All negative numbers will output -1.0. And 0.0 will output 0.0. · Compare: Outputs 1.0 if the difference between the two input values is less than or equal to Epsilon. · Smooth Minimum: Smooth Minimum. · Smooth Maximum: Smooth Maximum. |
Rounding
| Entry | What it does |
|---|---|
| Round | Round the input value to the nearest integer. |
| Floor | Rounds the input value down to the nearest integer. |
| Ceil | Rounds the input value up to the nearest integer. |
| Truncate | Outputs the integer part of the value. |
| Fraction | Fraction. |
| Modulo | Outputs the remainder once the first value is divided by the second value. |
| Wrap | Outputs a value between Min and Max based on the absolute difference between the input value and the nearest integer multiple of Max less than the value. |
| Snap | Round the input value to down to the nearest integer multiple of Increment. |
| Ping-pong | The output value is moved between 0.0 and the Scale based on the input value. |
Trigonometric
| Entry | What it does |
|---|---|
| Sine | The Sine of the input value. |
| Cosine | The Cosine of the input value. |
| Tangent | The Tangent of the input value. |
| Arcsine | The Arcsine of the input value. |
| Arccosine | The Arccosine of the input value. |
| Arctangent | The Arctangent of the input value. |
| Arctan2 | Outputs the Inverse Tangent of the first value divided by the second value measured in radians. |
| Hyperbolic Sine | The Hyperbolic Sine of the input value. |
| Hyperbolic Cosine | The Hyperbolic Cosine of the input value. |
| Hyperbolic Tangent | The Hyperbolic Tangent of the input value. |
Conversion
| Entry | What it does |
|---|---|
| To Radians | Converts the input from degrees to radians. |
| To Degrees | Converts the input from radians to degrees. |
| Clamp | Limits the output to the range (0.0 to 1.0). See Clamp. |
Outputs
Value
Numerical value output.
Mix

Allows to mix values and vectors in various ways. The node has three different modes. Float, Vector and Color. This node covers the Float mode
Input

Float
| Entry | What it does |
|---|---|
| Factor | The mix factor. |
| A | Float value A input. |
| B | Float value B input. |
Properties

Data Type
The data type to calculate.
Output
Result
The output value or vector.
Text
Add menu - Utilities - Text

Text object related nodes.
Format String

Insert Values into a string using a Python and path template compatible formatting syntax.
The syntax can be found here: https://docs.python.org/3/library/string.html#format-string-syntax
| Entry | What it does |
|---|---|
| Inputs | Strings: The strings that you want to modify. |
| Properties | String: The python syntax to modify the string. |
| Output | String: The output string. |
Join Strings

Allows you to join several string into a text string.
| Entry | What it does |
|---|---|
| Inputs | Delimiter: Add a delimiter character. · Strings: The strings that you want to join into one text string. |
| Output | String: The output string. |
Match Strings

Allows you to compare strings to match conditions
Inputs
| Entry | What it does |
|---|---|
| String | The input string. |
| Key | An input key. |
Properties

Operation
What string condition to match.
Output
Result
The output strings that matches the condition.
Replace Strings

Find and replace strings inside of the input string.
| Entry | What it does |
|---|---|
| Inputs | String: The input string. · Find: The string part that you want to replace. · Replace: The string part that you use to replace the selected string part. |
| Output | String: The strings that you want to join into one text string. |
Slice String

Allows you to extract a string from a substring at given position with given length.
| Entry | What it does |
|---|---|
| Inputs | String: The source string. · Position: The start position of the sub string. · Length: The length of the substring. |
| Outputs | String: The output substring. |
Find in String

Returns an integer of the total count of matching strings or the first integer position of a matching string
| Entry | What it does |
|---|---|
| Inputs | String: The string that you want to search in. · Search: The string that would be matched in the string search. |
| Outputs | First Found: Returns the integer position of the first character of the found string. · Count: Returns an integer position of the first character of the found string. |
String length

Gives back the number of characters in this string.
| Entry | What it does |
|---|---|
| Inputs | String: The string that you want to calculate. |
| Outputs | Length: How many characters the string has. |
String to Curves

Converts the letters of a text into curve objects.
Inputs
| Entry | What it does |
|---|---|
| String | The text string to convert. |
| Size | Size of the string. |
| Character Spacing | The character spacing of the string. |
| Word Spacing | The word spacing of the string. |
| Line Spacing | The line spacing of the string. |
| Max Width | The maximum width of the string. |
Properties
Font property

Font browser

A list of the loaded fonts.
| Entry | What it does |
|---|---|
| Font Edit Box | The active font. |
| Number of Users | The number of users for this font. |
| Fake User | Keep this font in the .blend file even when it has no users. The default font is special in this regards. It will not vanish when you close the file, even when it has no fake user assigned. |
| Open Font | Load a system font. |
| Remove | Removes the active font. The default font is special in this regards. You cannot delete it. |
Overflow

The overflow method for the text.

Align X
How to align the text horizontally
Align Y

How to align the text vertically.
Pivot Point

What point of the string to use as the pivot point.
Output
| Entry | What it does |
|---|---|
| Curve Instances | The curves output. |
| Line | Outputs the line number of the character. |
| Pivot Point | Outputs the selected pivot point position per character. |
String to Value

Converts a string input (e.g. "3.14" or "42") into a numeric value that can be used in fields, modifiers, or procedural logic. It also outputs the length of the string for additional control or validation.
Inputs
String
The input string.
Properties

| Entry | What it does |
|---|---|
| Data Type | Specifies the target data type for conversion |
| Outputs | Value: The output value. · Length: The number of characters in the input string as an Integer. |
Value to String

Converts a value to a string.
Inputs
| Entry | What it does |
|---|---|
| Value | The input value. |
| Decimals | How many decimals the value has. |
Properties

| Entry | What it does |
|---|---|
| Data Type | Specifies the target data type for conversion |
| Outputs | String: The output string. |
Special Character

Adds special characters to the text string.
Outputs
| Entry | What it does |
|---|---|
| Line Break | Adds a Line Break to the text string. |
| Tab | Adds a tab to the text string. |
Vector
Add menu - Vector

Vector nodes are for calculating vector operations.
Combine XYZ

The Combine XYZ Node combines a vector from its individual components.
| Entry | What it does |
|---|---|
| Input | X Y and Z: X, Y and Z values. |
| Output | Color: Color output. |
Map Range

Remap a value from a range to a target range.
Input
| Entry | What it does |
|---|---|
| From Min | Vector 3 from the minimum input. |
| From Max | Vector 3 from the maximum input. |
| To Min | Vector 3 to the minimum input. |
| To Min | Vector 3 to the maximum input. |
Properties
Data Type

What data to calculate.
Interpolation Type

The interpolation method for the operation.
Clamp
Clamp the result to the target range of To Min - To Max.
Outputs
Vector
The output vector.
Mix Vector

Allows to mix values and vectors in various ways. The node has three different modes. Float, Vector and Color. This here is the node in Vector mode.
Input
Factor


The mix factor. With mode Uniform it is a single value. With mode Non Uniform it is a vector.
A

Vector A input.
B
Vector B input.
Properties
Data Type

Which mode to use. We cover here the Vector mode.
Factor Mode

Use a single value or a vector for the factor.
Output
Result
The output value or vector.
Separate XYZ

The Separate XYZ Node splits a vector into its individual components.
| Entry | What it does |
|---|---|
| Input | Vector: The Input vector. |
| Output | X, Y and Z: The output vectors for X, Y and Z. |
Radial Tiling

The Separate XYZ Node splits a vector into its individual components.
| Entry | What it does |
|---|---|
| Input | Vector: The Input vector. · Sides: Number of angluar segments for tiling. · Roundness: Roundness of the segments coordinate systems. |
| Properties | Normalize: Stretch the textures to fit into each angular segment. |
| Output | Segment Coordinates: The segment coordinates for texture mapping. · Segment ID: Unique ID for every segment. · Segment Width: The width of every segment. · Segment Rotation: The rotation of every segment. |
Vector Curves

The Vector Curves node maps an input vector components to a curve.
Inputs
| Entry | What it does |
|---|---|
| Factor | Standard vector input. |
| Vector | Standard vector input. |
Properties
Channel
X Y Z

X, Y, Z Channel buttons. Clicking on one of the channels displays the curve for each.
Curve edit field
Create and tweak a Bezier curve that varies the input levels (X axis) to produce an output level (Y axis).
Selecting Points

You can select curve points. This reveals two edit boxes for the x and y coordinate of this point.
Selected points can be moved around. Left click at them, hold the mouse button down and move them to a new location.

Adding Points
This setting uses the curve widget: click to add points, drag to move them. See Curve Widget in the Interface chapter.
Navigation elements

The navigation elements at the top are described from left to right.
Zoom in and out
The two buttons with the magnifying glass at it zooms in and out in the curve window.
Clipping

Clipping options. Set up clipping for the stroke.
Tools

Tools is a menu where you can find some curve related tools.
| Entry | What it does |
|---|---|
| Reset View | Resets the curve windows zoom. |
| Extend horizontal | Extends the curve before the first curve point and behind the last curve point horizontally. |
| Extend extrapolated | Extends the curve before the first curve point and behind the last curve point extrapolated. |
| Reset Curve | Resets the curve to the initial shape. |
Vector Handle

Set handle type to Vector.
| Entry | What it does |
|---|---|
| Auto Handle | Set handle type to Auto. |
| Auto Clamped Handle | Set handle type to Auto Clamped. |
| Entry | What it does |
|---|---|
| X Y values | The x and y values of the selected curve point. |
| Delete Points | Deletes selected curve points. |
Outputs
Vector
Standard vector output.
Vector Math

The Vector Math node performs the selected math operation on the input vectors.
Inputs
The inputs of the node are dynamic. Some inputs are only available in certain operations. For instance, the Scale input is only available in the Scale operator.
| Entry | What it does |
|---|---|
| Vector | Input vector A. |
| Vector | Input vector B. |
| Scale | Input Scale. |
Properties
Operation

The vector math operator to be applied on the input vectors.
Outputs
The output of the node is dynamic. It is either a vector or a scalar depending on the operator. For instance, the Length operator have a scalar output while the Add operator have a vector output.
| Entry | What it does |
|---|---|
| Vector | Output vector. |
| Value | Output value. |
Vector Rotate

The Vector Rotate node allows rotations by a vector.
Inputs
The inputs of the node are dynamic. Some inputs are only available in certain operations. For instance, the Angle input is just available with the Axis Angle type.
| Entry | What it does |
|---|---|
| Vector | Input vector. |
| Center | Input Center |
| Axis | Input Axis. |
| Angle | Input Angle |
Properties
Type

The rotation type.
Outputs
Vector
The Output vector.
Bundle
Add menu - Bundle

Bundles are like packed containers—they let you group multiple values (like vectors, floats, booleans) into a single wire. Think of them as a way to package data together and pass it around cleanly.
Combine Bundle

This node takes multiple inputs and wraps them into a single bundle.
Inputs
Sockets

This is a dynamic socket that will populate with whatever you want to plug into it for later use. Accepts one or more bundle-compatible data streams.
These could represent attributes, geometry sets, vales, vectors, or grouped attributes depending on context.
Outputs
Bundle Socket
Standard bundle socket with a unified bundle containing all input elements. Use this to pass the packaged sockets to a Separate Bundle node for later user down the node tree lines.
Separate Bundle

This node unpacks a bundle back into its individual components.

| Entry | What it does |
|---|---|
| Inputs | The inputs of the node are dynamic. Some inputs are only available in certain operations. For instance, the Scale input is only available in the Scale operator. · Bundle: Standard bundle socket with a unified bundle containing all input elements from a Combine Bundle node. |
| Outputs | Sockets: This is a dynamic series of socket that will populate with whatever is available from the incoming bundle line. Ouptuts one or more bundle-compatible data streams. These could represent attributes, geometry sets, vales, vectors, or grouped attributes depending on context. |
Join Bundle

Merges two or more Bundle inputs into a single output bundle.

This enables modular data structuring, reuse, and override logic in procedural workflows—similar to combining structs in programming.
| Entry | What it does |
|---|---|
| Inputs | Bundle: Bundle 1, Bundle 2, … Accepts multiple bundles created via the Combine Bundle node. Each bundle may contain different types of data (e.g. Float, Vector, String, Color) |
| Outputs | Bundle Socket: Standard bundle socket with a unified bundle containing all input elements. Use this to pass the packaged sockets to a Separate Bundle node for later user down the node tree lines. |
Closure
Add menu - Closure

Vector nodes are for calculating vector operations.
Closures allow you to pass custom logic into node groups—like injecting a mini-function or behavior block. They’re ideal for creating reusable, pluggable systems where the user can define part of the logic externally.
Closure Zone

The closure function to be executed.
Purpose
Defines logic that will be injected into a node group or node tree. Think of it as a sandbox where the user builds a mini-node tree that gets executed when the closure is evaluated during the execution of another node tree.
A Closure encapsulates the logic defined in the Closure Zone. This output is typically connected to an Evaluate Closure node inside a node group or injected into another node tree.
Use Cases:
- Custom deformation logic injected into a reusable node group.
- Procedural scattering patterns defined externally.
- Field-based attribute manipulation with user-defined formulas.
- Behavior overrides for geometry processing pipelines.
Behavior

The Closure Node creates a Closure Zone—a subgraph where the logic is built using the declared inputs. This zone behaves like a function.
- Closure Inputs appear as sockets at the top of the zone. Data from outside the zone can also be referenced.
- Outputs are defined using Closure output nodes.
<!-- -->
- The logic inside is encapsulated and only runs when evaluated externally.
How It Works (Conceptually)
- Authoring: You define a Closure Zone with custom logic (e.g., a tree scattering pattern).
- Packaging: The Closure node wraps that logic into a closure line.
- Injection: Inside a node group or elsewhere in a node tree, the Evaluate Closure node pulls in that logic and runs it with the provided inputs.
- Modularity: You can swap closures to change behavior without modifying the node tree or nodegroup itself.
When the node group containing an Evaluate Closure node runs, it pulls in the logic from the Closure Zone and executes it in place. The zone is not executed immediately—it’s stored as a callable block.
Requirements
Input and output names in the Closure Zone must match those expected by the Evaluate Closure node.
Can include any Geometry Nodes logic, including fields, math, distribution patterns, etc.
Properties

These panel defines the parameters that the closure will pass when evaluated. Each item becomes a socket in the Closure Zone.
You can access these properties in the sidebar to the right in the Node tab.
| Entry | What it does |
|---|---|
| Sync Button | Updates the sockets to what is actually used from a Closure Zone, meaning the input/output sockets update to what is evaluated in the logic of the closure automatically. Useful to not do this manually. |
| Input Items | Parametersofvalues passed into the Closure logic (e.g., geometry, fields, values) for user customizability. |
| Output Items | Whatever parameters the Closure logic returns—could be geometry, fields, instances, values, etc |
| Common Properties | Add / Remove / Reorder Controls: + (Add): Creates a new input socket. – (Remove): Deletes the selected input. ↑ / ↓ (Reorder): Adjusts the order of inputs for visual clarity and UX consistency. · Name: Identifier for the input. Must match the name used in Evaluate Closure. · Socket Type: Data type of the input (e.g., Float, Vector, Boolean, Geometry, Field). · Structure Type: Defines how the input is treated: Auto, Dynamic, Field, Grid, List, or Single. |
Evaluate Closure

This node calls the logic stored in the Closure object.
It passes in the provided parameters and returns the result of the closure’s internal node tree. Execution is deferred—the logic only runs when this node is evaluated in the context of the node group.
| Entry | What it does |
|---|---|
| Closure Input | A Closure socket input created by a Closure zone. This contains the logic to be executed from that Closure zone. |
| Interface Inputs / Outputs | Named inputs/outputs from the Closure properties that match the Closure Zone’s expected parameters for the enclosed logic to be evaluated. |
Properties

This panel defines the parameters that the closure will accept when evaluated. Each item becomes a socket in the Closure Zone.
You can access these properties in the sidebar to the right in the Node tab.
| Entry | What it does |
|---|---|
| Sync Button | Updates the sockets to what is actually used from a Closure Zone, meaning the input/output sockets update to what is evaluated in the logic of the closure automatically. Useful to not do this manually. |
| Add / Remove / Reorder Controls | + (Add): Creates a new input socket. – (Remove): Deletes the selected input. ↑ / ↓ (Reorder): Adjusts the order of inputs for visual clarity and UX consistency. |
| Name | Identifier for the input. Must match the name used in Evaluate Closure. |
| Socket Type | Data type of the input (e.g., Float, Vector, Boolean, Geometry, Field). |
| Structure Type | Defines how the input is treated: Auto, Dynamic, Field, Grid, List, or Single. |
Field
Add menu - Utilities - Field

Field nodes.
Accumulate Field

Creates a running total of a given Vector, Float, or Int field.
Inputs
| Entry | What it does |
|---|---|
| Value | The field to be accumulated. |
| Group Index | The values of this input are used to aggregate the input into separate 'bins', creating multiple accumulations. |
Properties
Data Type

What data type to work with.

Domain
From which domain to use the data.
Outputs
| Entry | What it does |
|---|---|
| Leading and Trailing | Returns the running totals starting at either the first value of each accumulations or 0 if there is no data |
| Total | Returns the total accumulation at all positions of the field. |
Evaluate at Index

This node allows accessing data of other elements in the context geometry.
It is similar to the Transfer Attribute node in Index mode. The main difference
is that this node does not require a geometry input, because the context
is used.
Inputs
| Entry | What it does |
|---|---|
| Index | Input Index. |
| Value | Input Value. |
Properties

Data Type
What data type to calculate.
Domain

What geometry to calculate.
Output
Value
The output value.
Evaluate on Domain

This node evaluates an existing field on a separate domain in a larger field context - an alternative to the Capture Attribute node. This nodes gets the field type of an existing field from the input socket and interpolates the field type as an array in the output socket.
Inputs
Value
The input value to get the field.
Properties

Data Type
Select the Data Type - which can be float, integer, vector, color and boolean.
Domain

The domain the Field evaluates. This gets and filters the field type. The domain can be point, edge, face, face corner, spline or instance.
Outputs
Value
The output value.
Field Average

Calculate the mean and median of a given field.
Inputs
| Entry | What it does |
|---|---|
| Value | The input value to get the field. |
| Group ID | The input Group ID to get the field. |
Properties

Data Type
Select the Data Type - which can be float, integer, vector, color and boolean.
Domain

The domain the Field evaluates. This gets and filters the field type. The domain can be point, edge, face, face corner, spline or instance.
Outputs
| Entry | What it does |
|---|---|
| Mean | The Mean output value. |
| Median | The Median output value. |
Field Min & Max

Calculate the minimum and maximum of a given field.
Inputs
| Entry | What it does |
|---|---|
| Value | The input value to get the field. |
| Group ID | The input Group ID to get the field. |
Properties

Data Type
Select the Data Type - which can be float, integer, vector, color and boolean.
Domain

The domain the Field evaluates. This gets and filters the field type. The domain can be point, edge, face, face corner, spline or instance.
Outputs
| Entry | What it does |
|---|---|
| Min | The Min output value. |
| Max | The Max output value. |
Field Variance

Calculate the standard derivation and variance of a given field.
Inputs
| Entry | What it does |
|---|---|
| Value | The input value to get the field. |
| Group ID | The input Group ID to get the field. |
Properties

Data Type
Select the Data Type - which can be float, integer, vector, color and boolean.
Domain

The domain the Field evaluates. This gets and filters the field type. The domain can be point, edge, face, face corner, spline or instance.
Outputs
| Entry | What it does |
|---|---|
| Standard derivation | The Min output value. |
| Variance | The Max output value. |
Matrix
Add menu - Utilities - Matrix

Matrix nodes.
Combine Matrix

Combines values into a matrix. A matrix is something like a transform cage. A vector 4 in 4 dimensions.
Inputs

Column 1 , 2, 3, 4
Allows you to combine values into the matrix. A matrix is made of four vector 4 in 4 dimensions. So 16 values.
Output
Matrix
The output matrix.
Combine Transform

Combines transforms.
| Entry | What it does |
|---|---|
| Inputs | Translation: The translation input vector. · Rotation: The rotation input vector. · Scale: The scale input vector. |
| Output | Transform: The output transform. |
Matrix Determinant

The Matrix Determinant Node is used for calculating the determinant of a given matrix. Use this node to evaluate whether a matrix has properties for invertibility, scaling, and orientation.
| Entry | What it does |
|---|---|
| Inputs | Matgrix: Accepts a matrix input. |
| Output | Determinant: Returns a single numerical value representing the determinant of the input matrix. If the determinant is zero, the matrix is non-invertible. |
Invert Matrix

Inverts the matrix values.
| Entry | What it does |
|---|---|
| Inputs | Matrix: The input matrix. |
| Output | Matrix: The output matrix. · Invertible: The inverted values. |
Multiply Matrix

Multiplies the values of two matrices.
| Entry | What it does |
|---|---|
| Inputs | Matrix, Matrix: The input matrices |
| Output | Matrix: The output matrix. |
Project Point

Projects a transform point by a vector.
| Entry | What it does |
|---|---|
| Inputs | Vector: The input vector · Transform: The input transform point |
| Output | Vector: The output vector. |
Separate Matrix

Extract single values from a matrix. A matrix is something like a transform cage. A vector 4 in 4 dimensions.
Inputs
Matrix
The input matrix.
Output

Column 1 , 2, 3, 4
Extract the values from a row in a column. A matrix is made of four vector 4 in 4 dimensions. So 16 values.
Separate Transform

Extracts the translation, rotation or scale values from a transform.
| Entry | What it does |
|---|---|
| Inputs | Transform: The input transform. |
| Output | Translation: The translation output vector. · Rotation: The rotation output vector. · Scale: The scale output vector. |
Transform Direction

Set the direction of a transform.
| Entry | What it does |
|---|---|
| Inputs | Direction: The input vector 3. · Transform: The input transform. |
| Output | Direction: The output direction. |
Transform Point

Transform a transform point.
| Entry | What it does |
|---|---|
| Inputs | Vector: The input vector 3. · Transform: The input transform. |
| Output | Direction: The output vector. |
Transpose Matrix

Retreive the transpose matrix from a matrix.
| Entry | What it does |
|---|---|
| Inputs | Matrix: The input matrix. |
| Output | Matrix: The output transpose matrix. |
Rotation
Add menu - Utilities - Rotation

Utility nodes are mainly for mathematical operations.
Align Rotation to Vector

Aligns a rotation to a vector.
Inputs
| Entry | What it does |
|---|---|
| Rotation | The input euler rotation vector. |
| Factor | The factor to align the euler value to the vector. |
| Vector | The vector to align to. |
Properties
Align Axis
To which axis to align the vector.
Pivot

The pivot axis.
Output
Rotation
The output rotation euler angle.
Axes to rotation

Creates a rotation from a primary and a secondary axis. The axis should be ideally orthogonal.
| Entry | What it does |
|---|---|
| Inputs | Primary Axis: The axis to rotate around. · Secondary Axis: The secondary axis that gives the alignment. |
| Properties | Primary axis: Which axis to rotate around. · Secondary Axis: Which axis to align to. |
| Output | Rotation: The output rotation euler angle. |
Axis Angle to Rotation

Converts an axis angle to a rotation.
| Entry | What it does |
|---|---|
| Inputs | Axis: The input axis. · Angle: The input angle. |
| Output | Rotation: The output rotation value. |
Euler to Rotation

Converts an euler angle to a rotation.
| Entry | What it does |
|---|---|
| Inputs | Euler: The input euler angle vector. |
| Output | Rotation: The output rotation value. |
Invert Rotation

Inverts a rotation
| Entry | What it does |
|---|---|
| Inputs | Rotation: The input rotation vector. |
| Output | Rotation: The output rotation value. |
Mix Rotation

Rotates an euler rotation by another euler rotation.
Inputs
| Entry | What it does |
|---|---|
| Factor | amount of mixing between a and b inputs. |
| A, B | The input. |
Properties

Data Type
What data to calculate.
Outputs
Rotation
The euler angle output.
Rotate Rotation

Rotates an euler rotation by another euler rotation.
Inputs
| Entry | What it does |
|---|---|
| Rotation | Use the rotation of an existing geometry. |
| Rotate By | The input rotation. |
Properties
Rotate Space
| Entry | What it does |
|---|---|
| Global | Rotate by the global orientation |
| Local | Rotate by the local orientation |
Outputs
Rotation
The euler angle output.
Rotate Vector

Rotates a vector.
| Entry | What it does |
|---|---|
| Inputs | Vector: The input vector. · Rotation: The input rotation. |
| Output | Rotation: The output rotation value. |
Rotation to Axis Angle

Converts a rotation vector to axis angle.
| Entry | What it does |
|---|---|
| Inputs | Rotation: The input vector. |
| Output | Axis: The axis output. · Angle: The angle output. |
Rotation Euler

Converts a rotation vector to an euler angle.
| Entry | What it does |
|---|---|
| Inputs | Rotation: The input vector. |
| Output | Euler: The euler angle. |
Rotation to Quaternion

Converts a quaternion to a rotation vector.
| Entry | What it does |
|---|---|
| Inputs | Rotation: The input vector. |
| Output | W, X, Y, Z: The single output values of the quaternion. |
Quaternion to Rotation

Converts a rotation vector to a quaternion.
| Entry | What it does |
|---|---|
| Inputs | W, X, Y, Z: The single input values of the quaternion. |
| Output | Rotation: The output rotation. |
Deprecated
Add menu - Deprecated

These deprecated nodes are kept for compatibility reasons.
Align Euler to Vector (Deprecated)

Aligns a euler value to a vector.
Inputs
| Entry | What it does |
|---|---|
| Rotation | The input euler rotation vector. |
| Factor | The factor to align the euler value to the vector. |
| Vector | The vector to align to. |
Properties
Align Axis
To which axis to align the vector.
Pivot

The pivot axis.
Output
Rotation
The output rotation euler angle.
Rotate Euler (Deprecated)

Rotates an euler rotation. This node will be removed in the near future. Alternatively use the Rotate Rotation node.
Inputs
| Entry | What it does |
|---|---|
| Rotation | Use the rotation of an existing geometry. |
| Rotate By | The input rotation. |
Properties
| Entry | What it does |
|---|---|
| Rotate Type | Axis Angle: Rotate around an axis by an angle. · Euler: Rotate around the x, y and z axis. |
| Rotate Space | Object: Rotate points in the local space of the object. · Point: Rotate every point in its local space. |
Outputs
Rotation
The euler angle output.










Top Level Grouped Menu Switches with same inputs: