Instanced Meshes vs. Static Meshes

Hello dear community,

our team is having the following discussion/problem: We’re using instanced meshes for most of the mesh objects (which means each and every object has a blueprint that performs the instantiation). We performed a test where we exchanged all these objects with static meshes - which decreased the performance by ~10 FPS.

On the other hand we got feedback that using so many blueprinted objects is just crazy - and that we should definitely use static meshes for that. Because static meshes are already instantiated (Is this true? - if yes - why the above mentioned performance change).

The level designer would have a better time when using only static meshes because they could create blueprints consisting multiple meshes. So for instance: At the moment a house is constructed with 100 planks - each plank has a blueprint that performs the instantiation. Having 100 static mesh planks would allow the level designer to create a blueprint for the whole house. Replication and modification would become easier that way.

Is there any information about how much overhead blueprints on objects create? Or proposals for best-practices?

Any kind of feedback is very welcome.

Cheers

I didn’t really look into InstancedStaticMeshes that much, but these guys seem to have more clues on that.
https://www.reddit.com/r/unrealengine/comments/3ehjx1/i_have_a_question_regarding_instancing_static/

“The level designer would have a better time when using only static meshes because they could create blueprints consisting multiple meshes.”

This can also be done if the ibjects are blueprint actors. A blueprint can have other blueprint actors as child components (just like regular meshes).