Static Mesh LOD Memory Management

This is a cross [post][1] from the forums with some more details.

Anyone know if there are any utilities in the engine to only have one LOD per mesh loaded in memory at a time. Our application has a large amount of high poly meshes, and we’re looking to cull the memory footprint. LOD streaming sounded like what we’re looking for but after tinkering we’re unable to figure out what LOD streaming is exactly or how it works.

https://forums.unrealengine.com/filedata/fetch?id=1769923&d=1591056902

Tracking memory during run-time shows that the amount of static mesh memory does not change while observing a static mesh switch between LODs. We’re hoping to stream LODs from disk and only have one LOD in memory per mesh.

Same here! :slight_smile:

Did you see this?:

( Not quite it I think… )

Hey ClockworkOcean, thanks for the comment. The docs go into per-platform LOD generation but appear to be missing details on ‘Num Streaming LODs’ input highlighted in the embedded image. I’m having issues finding any documents about mesh LOD streaming.

If you use an identical model with only LOD 0, how does that compare?

Are you baking normals?

Having only one LOD in memory seems counter-intuitive. Although in your case you may want to manually switch between different models. Or you you could customize your engine.

I having this issue too. Cant find any info on how to stream static mesh LODs, so only the lod that is current being render is the only lod loaded into memory.