Need some clarification on instanced static meshes and draw calls as they relate to blueprints

Ideally, I’d like to be able to place many blueprints in my level, each with the same instanced static mesh component, and not drastically increase the mesh draw calls, so that’s the context of this question:

Let’s say I have a blueprint where I’m creating an instance of a static mesh component. Within that BP, I can make as many instances of that component as I want and not increase the draw calls, so far so good.

Lets say the BP spawns 10 instances of the mesh. Now: if I place that blueprint in my level twice, as far as the engine is concerned are their 2 meshes, with 10 instances each, or 1 mesh instanced 20 times?

In my case, I’d really like the second scenario to be possible: where each new blueprint doesn’t add to the draw calls as long as it is using the same instanced static mesh.

There would be 1 mesh with 20 instances. If your blueprint is set up to use only a single mesh, each time you place the blueprint in the world, you don’t get a unique “mesh”. The blueprint simply holds a set of instructions about what to do with the inherent pieces. Granted having a lot of instances of 1 mesh can still slow down your system. Yes there’s only one draw call, but there’s still overhead associated with the rendering. This is why its best to model “clumps” of grass for example rather than individual billboards.