SM, ISM, HISM, Lightweight Instances and Auto-Instancing - what are the differences?

Nice reply and website recourse!
One note, AutoInstancing or Automatic Dynamic Instancing at Runtime, was added to mobile but has been enabled/athing since 4.22 UE.
It will, for rendering, convert all static meshes to ISMs just to render each frame. it doesnt touch the actors, you can mainly see it working via draw call totals and the CVAR being enabled… Which it is, by default, since 4.22… but can be disabled…
You are correct, however, that scraping to your own ISM each frame is faster. But, dyanmic instancing make ‘static mesh’ rendering basically impossible, since if enable, they will be batched dyanmically to an ISM (with overhead to do so) each frame by the engine!

r.MeshDrawCommands.DynamicInstancing 1/0 to enable/disable it.

2 Likes