Most efficient method of implementing 3D tile based terrain.

I have a collection of 24 3D terrain pieces each measuring 5mx5mx5m. my plan is that I will use these to make the entire terrain for my game (much as it would be done with a 2D game with a tile sets)
I have two options:

  1. I can spawn them from a blueprint (so there are 24 ISM components in a single BP) then add them using script
  2. I can manually place each piece into the game by just dragging them into the viewport and building out the levels.

To be clear i will likely be putting thousands of these terrain blocks into the game but only 30 (absolute max) or so will be visible at any one time (top down camera).

So, which would be more efficient from the perspective of PC performance?. I have all the time in the world so that doesn’t need taken into account.

thanks for any advice.

Purely from a PC performance perspective using the blueprint ISMs is more performant as all of the meshes in the ISM are drawn using a single draw call to the GPU, whereas placing them individually will produce a draw call for each individual tile, and the draw calls can be the performance bottleneck especially when drawing lots of small meshes (~<500 tris). Although if you’re having max 30 tiles visible at a time, it shouldn’t be too much of an issue either way…