combining meshes

Mesh.CombineMeshes exists to combine but is a little bit oddly specific in that you pass sub mesh indexes in - what if you just want to combine all submeshes, passing a struct for every one seems excessive? You also have to set a matrix for each instance.
I wonder if a simpler combine all, keep world pos as-is, couldn’t be provided?

There’s a script meshcombiner in Unity wiki, otherwise you might just combine vertices and indicies into one big array and pass it to a new mesh to get it combined without any changes to positions. Also mesh vertices are local positions so if you want to use world pos, you really need that matrix from the renderer’s transfom.

Yes but I want to keep submeshes per material - may not be an option other than custom code