UProceduralMeshComponent Draw calls

I am creating a Voxel type terrain and started using c++ and the UProceduralMeshComponent. My goal is to combine all Voxel blocks into one big mesh and render the whole mesh once using one Draw call as an optimization.

Can someone please tell me if I use the CreateMeshSection() function of the UProceduralMeshComponent class to create the individual faces of the chunk mesh, will it result in one draw call for the whole mesh or will it create a draw call for each MeshSection?

Thank you in advance!

So I did a quick test, it does create one singular mesh. However without the actor placed in the world My game ran at 120 FPS maxed out, but the moment I add the chunk with a 16 X 16 grid of voxels it deteriorates to 32-35 FPS.

This leads me to think that each mesh section does in fact use its own draw call. Please correct me if I am wrong?

For Anyone stumbling across my question here I found the solution. I use UProceduralMeshComponent as my base class for a chunk. However each mesh section does in fact create its own draw call! Thus create one mesh section as a whole or for each material type and combine all vertex data into that mesh section.

My FPS stats shot back up to 120 FPS with double the amount of voxel blocks!! If this is unclear please contact me on the forums and I will explain it to a deeper extent.

Doing some heavy rendering using UProceduralMeshComponents, glad I ran into this!

I am glad to hear it helped someone!