# UVProject

> UVProject node.

UVProject: sets the UV coordinates of the meshes in the scene, replacing any
they had, so a texture (GeoBindMaterial, a geo node's `mat`) maps onto meshes without UVs: GeoImport meshes,
ReadVFX level sets (made into their surface mesh here), anything.

| Node | UVProject |
|---|---|
| Menu | 3D › UVProject |
| **Names in each format** | |
| .oink comp (JSON) | `"type": "OC_N_uvproject"` |
| .nk script | `UVProject`, also imports `GeoUVProject` ([how .nk import works](/docs/nuke-users/nk-import)) |
| Python | `nuke.createNode("UVProject")` |
| Assistant (MCP) | `create_node(type="UVProject")` |
| Tab search | `uvproject`, or its initials `uvp` |

![UVProject properties](/shots/nodes/uvproject@2x.webp)

## Inputs and outputs

| Port | Name | Type |
|---|---|---|
| input 0 | scene | scene |
| input 1 | axis/cam | scene |
| output 0 | scene | scene |

## Knobs

Panel tab **Uvproject**, in panel order.

| Knob | Label | Type | Default | Range / values | .nk knob | Description |
|---|---|---|---|---|---|---|
| `projection_mode` | projection | menu | `perspective` | off, perspective, planar, spherical, cylindrical | `projection_mode` |  |
| `plane` | plane | menu | `XY` | XY, YZ, ZX | `plane` |  |
| `u_invert` | invert u | bool | `false` |  | `u_invert` |  |
| `v_invert` | invert v | bool | `false` |  | `v_invert` |  |
| `u_scale` | u scale | float | `1` | 0.01 to 10 | `u_scale` |  |
| `v_scale` | v scale | float | `1` | 0.01 to 10 | `v_scale` |  |

### Other knobs (Python, .nk and the assistant; not on the panel)

| Knob | Label | Type | Default | Range / values | .nk knob | Description |
|---|---|---|---|---|---|---|
| `gl_color` | Viewer Controls Color | float ×3 | `0, 0, 0` | 0 to 1 |  |  |
| `postage_stamp_frame` | Static Frame | int | `1` | -2147483648 to 2147483647 |  |  |
| `lifetimeStart` | Lifetime Start | int | `0` | -2147483648 to 2147483647 |  |  |
| `lifetimeEnd` | Lifetime End | int | `100` | -2147483648 to 2147483647 |  |  |
| `useLifetime` | Use Lifetime | boolean | `false` |  |  |  |
| `cached` | Cached | boolean | `false` |  |  |  |
| `bookmark` | Bookmark | boolean | `false` |  |  |  |
| `dope_sheet` | Dope Sheet | boolean | `false` |  |  |  |
| `clone_group` | Clone Group | string |  |  |  |  |
| `link_source` | Link Source | string |  |  |  |  |
| `link_overrides` | Link Overrides | string |  |  |  |  |
| `split_views` | Split Views | string |  |  |  |  |


---
Sources: opencomp_core/nodes/three_d/uv_project.py, opencomp_electron/src/components/properties/knobSchema.ts, opencomp_core/nk/mapping.py
