Nanite and LOD should not be mutually exclusive

The more I use Nanite, the more cases I find myself wanting just a bit more control that we previously had with LODs.
Here are some examples:

When drawing small assets like grass, it can be a good option to enable dynamic shadows for LOD0, then switch off dynamic shadows at a certain LOD and rely on contact shadows only. Nanite seemingly makes this impossible to with certain assets like foliage meshes. With LODs this was just a checkbox.

This is especially important for WPO enabled grass, as not being able to easily disable shadow casting at distance for nanite assets means unnecessary shadow cache invalidations. You can of course reduce this by disabling WPO at a distance instead, but the distance which it makes sense to fade out dynamic shadows is much closer than the distance it makes sense to disable WPO/wind effects in my experience.

Ideally, I would have both WPO and full shadow up close, switch to contact shadow at short distance, switch off WPO gradually at a farther distance, and then begin culling* after that. But as it stands, my options are cast shadows on all grass (which is too expensive if draw distance is large), rely purely on contact shadows for grass, or no shadows on grass.

Nanite draws into VSM at unlimited distance according to docs. While this is great for larger assets that have large shadow contributions, it is wasteful for small objects and having some control here would help performance without needing to sacrifice much visual quality.

Another benefit of LODs is being able to switch to cheaper materials at a distance. I see little reason to remove the functionality as a byproduct of using Nanite.

You may also wish to switch to an alternative mesh entirely (such as an imposter) at some distance. With nanite, you totally commit to using the same mesh at all distances, unless you manually track each instance and swap it out on your own - which isn’t always feasible.

There are a lot of nice performance wins with the Nanite path, so it feels bad when you lose features, artistic control or convenience when using it.

*In a slightly related but technically off-topic note, Nanite doesn’t support the per instance foliage culling range, which causes foliage to cull in a perfect circle around the camera and makes pop-in far more obvious than traditionally rendered foliage which can fade instances out individually.

Long story short, I love Nanite but I don’t understand why we must lose the ability to easily control per instance shadow casting, material and mesh at given screen percentages when using it.

I think we’re starting to see the Nanite / LOD groupie situation polarize more now, after some settling in.

Nanite is great for cinematics, but still not as good as LODs for game level applications.

I assume eventually, when 40 series cards a part of the motherboard, we’ll all be using Nanite. But until then, it’s gonna be a bit of a struggle in some way…