On a Nanite static mesh with a least 1 opaque material with WPO and 1 masked material, and with Nanite Pixel Programmable Distance < World Position Offset Disable Distance, the WPO will not be evulated on the vertex shader, only on the pixel shader causing textures to slide on the mesh.
2026-05-21 15-29-02.mp4(6.88 MB)
Steps to Reproduce
- A Nanite static mesh with 2 or more material slots
- A masked material assigned to one of the material slot
- An opaque material with WPO assigned to another material slot
- A non null World Position Offset Disable Distance on the static mesh component
- Nanite Pixel Programmable Distance smaller than World Position Offset Disable Distance on the static mesh component
- The distance between the static mesh and the camera must fall between the Nanite Pixel Programmable Distance and the World Position Offset Disable Distance
In this situation, the WPO will not be evaluated in the vertex shader, only in the pixel shader.
Hello Pierre-Marc,
We have also recently noticed this bug and have recently fixed it in UE5/Main in CL 49349904 (GitHub link). It should be pretty simple for you to integrate this logic into 5.7.
Thanks for your report!
-Jamie
Thank you. This CL fixed the issue.