A typo in a conditional compilation macro in NaniteRasterizer.usf causes code controlling distant tessellation reduction to never be included in final shader code. This means that the low tessellation mode (tessellation factor reduced to 25%), which should active at a distance, can never activate.
The offending code in NaniteRasterizer.usf is the following:
#if USE_DISPLACEMENT
LowTessDistance = CalcDisplacementLowTessDistance(PrimitiveData, Patches_InstanceData, NaniteView);
#endif
Note that the USE_DISPLACEMENT macro is not defined anywhere, so the contained code can never be compiled or executed. This should instead be USES_DISPLACEMENT.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-353634 in the post.
| 0 |
| Component | UE - Graphics Features - Nanite |
|---|---|
| Affects Versions | 5.5, 5.6, 5.7, 5.8 |
| Created | Nov 12, 2025 |
|---|---|
| Updated | Nov 13, 2025 |