UV Context Projection

Scene by Saul Espinosa
Textures from PolyHaven.com
Scene by Saul Espinosa
Ground texture from AmbientCG.com


The UV Context Projection is a powerful utility node that applies the same mapping across all the textures connected to a material. Most materials are built using a set of textures that only look good when they perfectly match up with each other. The UV Context Projection node makes it easy to adjust all textures and keep them in sync.


Adjusting a material using UV Context
Textures from PolyHaven.com


All the textures can use an object's UV set or be switched to a number of other UV projections like Tri-Planar, Spherical, or Flat.


Changing the Projection type using UV Context
Textures from PolyHaven.com


2026

The UV Context Projection node requires constant inputs. For example, you cannot drive the UV Transform Offset with a Maxon Noise the way you can on a Texture Sampler.


Examples

How it works

UV Context port: Local or Inherited connections

Using a UV Context Projection node is as simple as connecting the OutContext to a node with a "UV Context" port.

There are two ways for a texture to receive texture mapping information, from either a local connection or an inherited connection.

Thanks to inherited connections you don't need to manually connect each texture that should have the same mapping. That's because upstream textures are designed to automatically inherit UV Context information connected downstream in the shading graph. In the examples below, note how changing where the Context Projection node is connected affects which nodes are considered upstream. In the second example, there is no UV Context Projection node downstream from the displacement texture so it is unaffected.

Note, when using UV Context Projection nodes we recommend leaving the UV Remap section of a Texture Sampler at the default values for the sake of simplicity.


Inherited connections
UV Context Projection connected to the Material Output node
All textures connected to the Material and Displacement shaders are upstream
Inherited connections
UV Context Projection connected to the Material shader node
Only the textures connected to the Material shader are upstream


Alternatively, a UV Context node can be connected directly to a texture which overrides any inherited connections.

Use inherited connections whenever possible to keep a shader graph simple, using local connections only where necessary. However, you could use local connections on every texture and get the same result.


Local and Inherited connections
UV Context Projection A connected to the Material Output node
UV Context Projection B connected locally to three textures, overriding the inherited connection


Textures that support a local UV Context connection:

Nodes with a UV Context Port that added inherited connections to all connected textures:


Connection examples

The most common UV Context setup is one where it affects all textures in a material, including the displacement textures. This is most easily accomplished by connecting one Context Projection node to the Material Output so it affects all upstream textures.


UV Context Projection connected to Material Output


Alternatively you could have a UV Context Projection node for only the Material textures or only the Displacement textures.


UV Context Projection connected to Material UV Context Projection connected to Displacement


Local connections are useful when you have some textures that need to stay in sync but are different from the rest of the material. That's as easy as connecting a UV Context Projection node directly to the texture's own UV Context Port - a locally connected texture always takes precedent over any downstream inheritance.


UV Context Projection connected directly to two textures Mixing local and inherited connections


When blending multiple materials, consider using a single UV Context Projection node for each material. In the example below, Context A is used for Material 1 and Context B is used for Material 2. Since displacement textures don't connect to the material directly you can connect the Context nodes directly to the textures to keep them in sync with their material.


UV Context Projection connected to Material Output