Nanite with Fast Moving Geometry

Hi everyone,

I’m encountering conflicting and somewhat vague guidance regarding the use of Nanite for fast-moving objects, specifically trains, which in our setup are Nanite static meshes attached to an empty skeletal mesh.

The official documentation suggests that Nanite should be used for all geometry (with exceptions like foliage, which isn’t supported).

However, when consulting the assistant, I received the following advice:

  • Nanite is designed for static or mostly static meshes, assuming geometry does not change significantly per frame.
  • Fast-moving meshes,even if non-deforming, can trigger frequent GPU structure updates, leading to performance costs. Therefore, Nanite is not recommended in these cases.

This is a significant concern for us, as it impacts both performance and our asset creation pipeline. We’d really appreciate a definitive answer on whether Nanite is suitable for fast-moving, non-deforming meshes like trains, or if we should avoid it in such cases.

Thanks in advance for any insights!

Best regards,

Lindsay

Steps to Reproduce
N/A

Hello,

Thank you for reaching out.

I’ve been assigned this issue, and we will be looking these concerns about Nanite performance it for you.

Hello,

Nanite does support foliage, and has supported it since Unreal Engine 5.1.

Can you please clarify what “assistant” provided this advice?

Hi Stephen

It is the unreal assistant https://dev.epicgames.com/community/assistant/unreal\-engine

But the nanite foliage is not what I am asking about. We don’t have much of it so it is a moot point at the moment.

We have trains which in our setup are Nanite static meshes attached to an empty skeletal mesh. Trains run very fast. We want to know if that is going to be a performance hit using nanite or not as we are trying to run on lower end platforms like the Steam Deck

Just as an addendum, we also tried to ask the unreal assistant again today and it gave us 2 different answers, so clarity from your end would be great [Image Removed]

Hello,

Nanite does handle frequent updates efficiently, and it is not limited to static geometry.

The speed at which a Nanite Static Mesh changes distance to the camera does not affect the performance of Nanite. It has tools to limit and throttle the streaming of mesh information from disk, and the upload to the GPU. For more information, please see the CVars starting with “r.Nanite.Streaming.*”.

As an example, we profiled 12 meshes with 2 million vertices moving towards and past the camera at two different speeds: 10000 units per second and 100 units per second. There was no difference in performance - the GPU time in both averages at 11.3 ms.

Keep in mind that performance-related decisions should be made based on evidence from profiling on the target hardware.

Keep in mind that the Unreal Assistant is still in beta, and, like any AI model, it can sometimes produce incorrect information.

Please let us know if this helps.