GroupMesh
- Last UpdatedOct 22, 2025
- 5 minute read
The GroupMesh node allows you to manipulate multiple geometry meshes using a single node.
The supported manipulation actions are:
-
Managing transform: Translating, rotating, and scaling the mesh group as single element.
-
Managing visibility: Switching visibility state on and off.
The meshes can be defined at startup or added/removed at runtime. When a mesh is added, it is immediately updated to reflect the group settings. When a mesh is removed from the GroupMesh node, its transform and visibility are not restored and they remain the same as before being removed.

Platform support
This element is fully supported on XR-Windows, XR-Portable Windows, XR-Portable iOS, XR-Portable Android, and XR-P WASM platforms.
|
XR-WIN |
XR-P-WIN |
XR-P-IOS |
XR-P-AND |
XR-P-WASM |
|---|---|---|---|---|
|
Full support |
Full support |
Full support |
Full support |
Full support |
|
|
|
|
|
|
Transform manipulation and parented meshes
The GroupMesh node is able to recognize if a mesh has its parent or another hierarchy ancestor in the group. This way, the node is able to apply transform updates only to the required meshes enabling the group to always move together as a solid content.
Note: Big lists of meshes may require a longer time to be properly analyzed when the mesh list content is changed.
Visibility manipulation and parented meshes
By default, the GroupMesh node applies the visibility change to all and only the meshes in the list.
By setting the propagateVisibility field, the node is able to apply the required visibility state to all children and descendants of all the meshes in the list.
GroupMesh fields
These are the fields for GroupMesh node. Only the node-specific fields are indicated, not fields obtained by inheritance.
Field inheritance: NodeBase > GroupMesh
|
Field |
Type |
Use |
Default value |
Description |
|---|---|---|---|---|
|
_debug |
sbool |
Optional |
false |
When activated, the debug object shows to identify clip planes or box. |
|
meshes |
sbool |
Optional |
List of fully qualified mesh names (file|parent|mesh) that can be manipulated using the GroupMesh node |
|
|
propagateVisibility |
sfunction |
Optional |
false |
When set, propagates the visible setting to all the meshes that are descendants of those in the mesh list. |
|
visible |
sbool |
Optional |
true |
Changes the visibility state of the meshes in the GroupMesh. If propagateVisibility is set to true, the visibility setting for each mesh is propagated to all the descendants in the scene hierarchy. |
|
matrix |
smatrix |
Optional |
1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 |
This matrix represents a space transformation that concurs to the final transformation of the node. It contributes to the node transformation as follows: TransformOffset * Transform * matrix. Being the last transformation applied to the node, it can be used as a parenting mechanism. |
|
position |
svec3 |
Optional |
0 0 0 |
The position of the GroupMesh coordinate system. |
|
positionOffset |
svec3 |
Optional |
0 0 0 |
This field can be used to position the TransformOffset coordinate system. The TransformOffset coordinate system is composed as follows: scaleOffset * rotationOffset * positionOffset and it contributes to the node transformation as follows: TransformOffset * Transform * matrix. |
|
rotation |
Optional |
0 0 0 1 |
Rotates the Transform coordinate system. The Transform coordinate system is composed as follows: scale * rotation * position and it contributes to the node transformation as follows: TransformOffset * Transform * matrix * Parent. In cases where no parent is expressed, Parent corresponds to the World coordinate system (Identity). You can edit this field by using any type of Eulerian representation of the rotation from the Graphic Context Editor Interface if the editor preferences are set accordingly. See Rotate content in the 3D View. |
|
|
rotationOffset |
Optional |
0 0 0 1 |
Rotates the TransformOffset coordinate system. The TransformOffset coordinate system is composed as follows: scaleOffset * rotationOffset * positionOffset and it contributes to the node transformation as follows: TransformOffset * Transform * matrix. You can edit this field by using Eulerian representation of the rotation from the Graphic Context Editor Interface if the editor preferences are set accordingly. See Rotate content in the 3D View. |
|
|
scale |
svec3 |
Optional |
1 1 1 |
Scales the Transform coordinate system. The Transform coordinate system is composed as follows: scale * rotation * position and it contributes to the node transformation as follows: TransformOffset * Transform * matrix * Parent. In cases where no parent is expressed, Parent corresponds to the World coordinate system (Identity). Note: Scaling a GroupMesh Node will not affect its radius. You should avoid using this field in most cases because it can only affect the space transformations without a proper 3D geometrical representation of it. |
|
scaleOffset |
svec3 |
Optional |
1 1 1 |
Scales the TransformOffset coordinate system. The TransformOffset coordinate system is composed as follows: scaleOffset * rotationOffset * positionOffset and it contributes to the node transformation as follows: TransformOffset * Transform * matrix. Note: Scaling a GroupMesh Node will not affect its radius. You should avoid using this field in most cases because it can only affect the space transformations without a proper 3D geometrical representation of it. |