Enabling Nanite messes up UVs / Nanite not working with World Position Offset?

I have a custom UV channel which I use for Vertex Animations (via World Position Offset in the material editor). Everything is good except when I turn on Nanite for that mesh the UVs become messy and unpercise. I tried different settings in the Nanite Settings but without successes.


Hello there @data_morphana!

Unfortunately, this is due Nanite not fully supporting vertex shader modifications, like WPO. I would suggest to disable Nanite for any meshes using WPO.

Nanite has limited support for the deformation of rigid meshes. Nanite supports dynamic translation, rotation, and non-uniform scaling of these meshes, whether it is dynamic or static. This means moving any position of a Nanite mesh in a way that is more complex than can be expressed in a single 4x3 matrix multiply, uniformly applied to the entire mesh.

Deformation is limited with:

  • (Beta) World Position Offset (WPO) in Materials.
    • Nanite meshes using WPO displacement are split into smaller clusters whereby each of those clusters have their own individual bounds and are culled individually on the GPU. Clamp the WPO in order to manage how many clusters of the Nanite mesh are culled.
    • Foliage using WPO is less problematic because the foliage is filled with holes and cannot really occlude itself.

Deformation is not supported with:

  • Morph Targets
1 Like