Generate Procedural Mesh

If you’re hitting performance bottlenecks, first move all logic into C++; you’ll still do for-loops but they execute lightning fast in C++.

Next is to work out if you need everything that you currently use, and everything that ‘CreateMeshSection()’ does. Perhaps you should pass in empty vertex colors if you don’t use them to avoid copying data that’s not required. How are you calculating tangents? That step may be quite slow, and can be approximated if you don’t need perfect accuracy.