What's the draw call if I use material instances for a static mesh?

Hello everyone,

I just create a static mesh using BSP geometries and I assigned material instances for the surfaces. When I created a static mesh from the BSP, the mesh has 6 materials but all of them are material instances from the same base material. In this case, what’s the draw call? Is it optimized or should I look for another solutions for the optimization such as creating model in a 3D program?

Thank you for the answer.

I created just basic shapes, so I thought of making those meshes using BSP instead of using any 3D programs; and I converted them into static meshes afterwards.

In the case of a BSP you will have the same amount of drawcalls if you have material instances for the faces since each face of the bsp has a drawcall. For instance a cube has 1 drawcall for each visible face while a mesh will have 1 drawcall for the mesh and 1 procedure call for each shader applied to it (2 drawcalls in total if you have 1 material instance for each face if each they are based on the same parent).

As a rule of thumb, use bsps only while prototyping/blocking your levels, but you are always better off with externally created static meshes (You can also generate a static mesh based on your bsp in the settings of the brush you are editing).