Download

Instanced Static Mesh Component (ISMC) AND Hierarchical ISMC Cannot Update at Runtime. What Can?

I have 100,000 - 200,000 static meshes (with no collision for performance increases) loaded into a level before gameplay starts.

At runtime (i.e. during gameplay), I want to be able to efficiently update and change the transform of all of these meshes.

I’ve tried both Hierarchical Instanced Static Mesh Component and Instanced Static Mesh Component. Both work fantastic once everything is not moving, I can get a solid 60 fps. However, when I’m trying to update the transforms of the instances (I update them in a “for loop per tick” (a macro found on these forums)) at runtime, my framerate plummets. I can update about 500-1,000 per tick and get around 30 fps.

Is there any other tool/component/procedure I could possibly use to easily update transforms of a very large number of static meshes? I don’t want animation from one location to the next, I just need the meshes to instantly move to different parts of the level.

Thanks in advance!

The very fact you have that many meshes loaded at once and running at 60 fps is astounding in itself. However, updating that many meshes all at once just may not be possible. You may want to rethink your entire approach, there may be a more optimal way to do your scene to begin with than something like that.