Simple UV Nodes
A Geometry Nodes library that lets you create, project, and transform UV maps directly in the node editor — no UV unwrapping, no separate operator, no context switch. Drag a node from the Asset Browser into your modifier tree and your UVs are live and non-destructive.
Every node writes to a named UV attribute, plays nicely with Blender's native material system, and stacks with the rest of your geometry node setup.
Minimum Blender version: 4.5
Feature Overview
- Box / Triplanar Projection: Project UVs from all three axes simultaneously. Per-axis offset, rotation, and scale give you full control over seam placement.
- Planar Projection: Flat projection along a chosen axis — ideal for floors, walls, and surfaces with a clear dominant direction.
- UV Transform: Non-destructively offset, rotate, scale, tile, and mirror an existing UV map without re-projecting from scratch.
- UV Attribute Transform: A lightweight helper designed for use inside Geometry Node setups — pass it a UV vector and get back a transformed result, without needing a Geometry socket.
- Named UV attributes: Every node targets a user-specified UV attribute name, so you can create and manage multiple UV maps on the same mesh.
- Object or World space: Choose the coordinate space for projections to keep UVs stable under object transforms or locked to the world.
- Asset Browser integration: Nodes are registered as Blender assets — drag any node directly into your modifier tree, no extra steps.
- Stackable: Project with UV Box Project or UV Planar Project, then pipe the result into UV Transform for additional adjustments — without losing the original projection.
- Pure Geometry Nodes: No Python dependency, no operator to run — everything is a standard Geometry Nodes modifier.
Installation
- Download the release zip and extract it.
- Inside you will find version folders — pick the one that matches your Blender installation (e.g.
Simple_UV_Nodes_4_5orSimple_UV_Nodes_5_1). - In Blender, open Edit → Preferences → File Paths → Asset Libraries and add the version folder as a new Asset Library.
- Open the Asset Browser (e.g. in a Geometry Nodes editor header), set the library to Simple UV Nodes, and drag any node into your Geometry Nodes modifier tree.
Tip
If you update Blender to a new minor version, swap the registered folder to the matching one from the zip. Older folders continue to work but will not include features introduced in newer Blender versions.
Node Reference
UV Box Project
Box/triplanar projection onto geometry. Projects UVs from three axes simultaneously and writes the result into a named UV attribute.
| Input | Type | Default | Description |
|---|---|---|---|
| Geometry | Geometry | — | Mesh to project onto |
| UV Map | String | UVMap |
Name of the UV attribute to write |
| Coordinates | Menu | Object | Coordinate space: Object or World |
| Tiling | Float | 1.0 |
Uniform tiling multiplier |
| X Projection | |||
| Offset | Vector | 0, 0, 0 |
Translation offset for the X-face UV |
| Rotate | Float | 0° |
Rotation for the X-face UV |
| Scale | Vector | 1, 1 |
Scale for the X-face UV |
| Y Projection | |||
| Offset | Vector | 0, 0, 0 |
Translation offset for the Y-face UV |
| Rotate | Float | 0° |
Rotation for the Y-face UV |
| Scale | Vector | 1, 1 |
Scale for the Y-face UV |
| Z Projection | |||
| Offset | Vector | 0, 0, 0 |
Translation offset for the Z-face UV |
| Rotate | Float | 0° |
Rotation for the Z-face UV |
| Scale | Vector | 1, 1 |
Scale for the Z-face UV |
| Output | Type | Description |
|---|---|---|
| Geometry | Geometry | Geometry with the new UV attribute written |
UV Planar Project
Flat projection of UVs along a single chosen axis. Useful for walls, floors, or any surface that is predominantly facing one direction.
| Input | Type | Default | Description |
|---|---|---|---|
| Geometry | Geometry | — | Mesh to project onto |
| UV Map | String | UVMap |
Name of the UV attribute to write |
| Coordinates | Menu | Object | Coordinate space: Object or World |
| Projection Plane | Menu | Z | Axis to project along: X, Y, or Z |
| Transform | |||
| Offset | Vector | 0, 0, 0 |
Translation offset applied to the UV |
| Rotate | Float | 0° |
Rotation applied to the UV |
| Tiling | Float | 1.0 |
Uniform tiling multiplier |
| Scale | Vector | 1, 1 |
Scale applied to the UV |
| Output | Type | Description |
|---|---|---|
| Geometry | Geometry | Geometry with the new UV attribute written |
UV Transform
Modifies an existing UV map non-destructively — offset, rotate, scale, tile, and mirror without re-projecting from scratch.
| Input | Type | Default | Description |
|---|---|---|---|
| Geometry | Geometry | — | Mesh whose UV attribute is modified |
| UV Map | String | UVMap |
Name of the UV attribute to modify |
| Offset UV | Vector | 0, 0 |
Translation offset |
| Rotate | Float | 0° |
Rotation |
| Scale | Vector | 1, 1 |
Scale |
| Tile | Float | 1.0 |
Uniform tiling multiplier |
| Mirror U | Boolean | false |
Mirror along the U axis |
| Mirror V | Boolean | false |
Mirror along the V axis |
| Output | Type | Description |
|---|---|---|
| Geometry | Geometry | Geometry with the modified UV attribute |
UV Attribute Transform
A lightweight pure-vector node that offsets, rotates, and scales a UV coordinate value. Has no Geometry socket — use it as a helper sub-node inside other projection setups or to pre-process a UV vector before feeding it into a texture.
| Input | Type | Default | Description |
|---|---|---|---|
| UV Coordinates | Vector | 0, 0, 0 |
Input UV vector to transform |
| Offset | Vector | 0, 0 |
Translation offset |
| Rotate | Float | 0° |
Rotation angle |
| Scale | Vector | 1, 1 |
Scale |
| Output | Type | Description |
|---|---|---|
| Vector | Vector | Transformed UV vector |
Tips
UV Map name — The UV Map string socket must match the name of the UV attribute on your mesh exactly. Blender's default is UVMap. You can check the attribute name in the Object Data Properties → UV Maps panel.
Stacking nodes — UV Planar Project and UV Box Project write a UV attribute from scratch. Feed the result into UV Transform if you need to adjust it afterwards without losing the projection setup.
UV Attribute Transform as a sub-node — Because this node only operates on a vector, you can use it directly inside a custom node group to build composite projection setups without adding a full geometry pass.