As I have done some research and profiling, I realized that Unity is allocating a lot of memory for meshes. It seems to allocate up to 4x what I would expect. Meshes should just contain the vertex, color, and uv data, if I understand correctly, so I'm not sure why Unity allocates a lot more than what is required for that. I'm currently being forced to write my game in Unity, but then write the procedural generation and even mesh rendering in native code as part of a plugin (using Metal and OpenGL). This is a really cumbersome process, and it is because Unity uses an inefficient amount of memory for meshes. Is there someone from the dev team that would be able to break this down for me? Specifically what goes into the memory allocations for meshes?