public void SetMeshIndexFormatAndClearMesh(Mesh m, int numVerts, bool vertices, bool justClearTriangles) { #if UNITY_2017_3_OR_NEWER if (vertices && numVerts > 65534 && m.indexFormat == UnityEngine.Rendering.IndexFormat.UInt16) { MBVersion.MeshClear(m, false); m.indexFormat = UnityEngine.Rendering.IndexFormat.UInt32; return; } else if (vertices && numVerts <= 65534 && m.indexFormat == UnityEngine.Rendering.IndexFormat.UInt32) { MBVersion.MeshClear(m, false); m.indexFormat = UnityEngine.Rendering.IndexFormat.UInt16; return; } #endif if (justClearTriangles) { MBVersion.MeshClear(m, true); //clear just triangles } else {//clear all the data and start with a blank mesh MBVersion.MeshClear(m, false); } }