We are looking to reduce VRAM usage on lower quality scalability presets in our project. One of the larger VRAM consumers we’ve identified is Nanite.StreamingManager.ClusterPageData, which sits at around 1 GB in our scenes. We attempted to control r.Nanite.Streaming.StreamingPoolSize through our project’s DefaultScalability.ini to scale it per quality level, it seems like the CVar only carries the ECVF_RenderThreadSafe flag and is missing ECVF_Scalability. As a result, the scalability system silently ignores it. We also looked into setting it via DefaultEngine.ini or Device Profiles, but these don’t allow us to tie the value to the player’s chosen quality preset at runtime.
Question: Is there a supported way to adjust the Nanite streaming pool size at runtime based on scalability settings without modifying engine source? Or is it not recommended to change the pool size for lower scalabilities or in general?
[Attachment Removed]
Hi there,
r.Nanite.Streaming.StreamingPoolSize not being marked with ECVF_Scalability is intentional. The Nanite streaming pool behaves differently from typical scalability controls.
Changing this value requires reallocating streaming pages, which is expected to happen during engine initialization. It also directly affects how much Nanite geometry can remain resident and how aggressively clusters stream in and out at runtime.
In general, the streaming pool should be large enough to accommodate all geometry required for the current view. If the pool is undersized, the system may experience cache thrashing where clusters continuously stream in and out, even for a static view. When the pool is too small, this can result in symptoms such as cluster pop-in, increased streaming pressure, and potential GPU stalls.
Because of this, we generally recommend avoiding change the Nanite streaming pool size at runtime. Instead, it is often more effective to reduce overall memory pressure in the scene. Some approaches you may want to consider include:
Reducing Nanite mesh density (for example by increasing Fallback Percent Triangles or lowering Position Precision).
Control Nanite usage on distant assets, such as using HLOD with Nanite disabled.
Hope this helps clarify the case. Please let me know if you have any additional questions.
Best regards,
Henry Liu
[Attachment Removed]