Quick cut and paste from their public roadmap
UE 5.1:
The primary focus of Nanite for 5.1 is the addition of a programmable rasterization framework, opening the door to features such as masked materials, two-sided foliage, pixel depth offset, and world position offset. Please note that the exact feature list and expected stability and performance characteristics are still TBD.
Other updates include:
- Nanite material switch in the Material Editor
- Additional diagnostic and debug modes
- Many quality and performance improvements
UE5.2
Nanite feature and performance updates include:
- Additional feature support: Custom Depth and Stencils, Lighting Channels, and Global Clip Plane
- Variable precision normals—for example, for high-quality reflections on cars
- "Max World Position Offset Displacement" setting, to mitigate artifacts that are common to objects that use World Position Offset with Nanite; use "Visualize -> Out of Bounds Pixels" to see where WPO is getting clamped by the max offset
- The Nanite Streamer, responsible for streaming clusters of geometry data from disk, has been updated for performance, stability, and improved statistics
- Precomputed Nanite displacement mapping via static texture map (Beta)
UE5.3
Explicit Tangents
Nanite now supports explicit tangents in the data format and runtime. Until now, Nanite has relied on a tangent space that is implicitly derived in the material, based on the screen-space positions and UV gradients. This is computationally convenient, makes tangents free in terms of memory and disk footprint and works well in practice for many types of meshes, especially highly tessellated ones. But there have always been cases, especially for low-poly models, where the implicit tangents are too imprecise, and custom per-vertex tangents are needed to reach target quality. To support these cases, users can now opt to store and use the original model tangents on a per-asset basis. Enabling this comes at a modest cost of an additional ~10% memory and disk footprint for the asset.
Nanite Spline Meshes (Experimental)
An initial implementation of SplineMeshComponent for Nanite meshes has been introduced. This feature can be enabled by setting r.Nanite.AllowSplineMeshes=1 in a settings .ini file. WARNING: Enabling this feature currently comes with a performance cost that affects culling performance of all Nanite, and there are currently known issues with incorrect culling under extreme deformation.
Performance improvements for masked materials and PDO
A new sliding window vertex cache for programmable raster results in faster masked materials and PDO. Initial tests show a 20% speed improvement for rasterization of masked foliage.
Nanite Selection Outline
Nanite object selections no longer flicker with TSR/TAA enabled or get occluded by other objects, and they render at final resolution.
Nanite ISM / Foliage Instance Selection
Several issues in the editor were fixed related to selecting/modifying/deleting instances of Instanced Static Mesh or Foliage Actors that had Nanite enabled.
Fallback Target Setting
We've added a 'Fallback Target' setting to Nanite Static Meshes. This is a menu option providing more explicit control over which target to reduce to for the fallback mesh: Relative Error or Percent Triangles.
Overdraw Visualization for Masked Materials
Nanite's overdraw visualization mode now properly accounts for masked materials. A masked material might appear to show more overdraw than in 5.2 due to the more accurate visualization.
UE5.4
Spline meshes are used for deforming static meshes along the shape of a spline, for example to model roads over landscape terrain. Spline meshes remain a significant missing piece as scenes in UE5 trend towards using Nanite for more and more scene content, especially for improved Lumen and Virtual Shadow Map performance.
Support for Nanite spline meshes was released as Experimental in UE 5.3. Remaining work includes performance and memory optimizations, preventing cracks, and fixing up areas such as level streaming and transform caching.
Nanite Compute-Based Shading is a long-term project focused on moving Nanite materials from traditional raster shading over to compute shaders for a number of optimization and new-feature opportunities, in addition to making it possible to clean up a lot of complex code required for the raster approach.
The ultimate goal is to fully replace the pixel shader path in its entirety, offering increased performance on both CPU and GPU, improve code maintainability, and also make it possible to implement advanced Nanite material functionality that would not be otherwise possible.
Dynamic programmable displacement allows Nanite meshes to be modified at runtime using a displacement map or procedural material. Unlike World Position Offset which can only operate on the original mesh vertices, Nanite displacement tessellates the mesh at runtime into additional triangles to conform to the detail of the displacement map. Only as much triangle detail required for the current pixel density is generated.
Benefits include:
- The ability to use lighter source meshes in the authoring pipeline.
- Material-driven and animated displacement
- Creating detailed Nanite landscapes