- Home /
[bug?] Unity deleting MeshCollider's baked data
Hello ! I have a really specific problem here, one that might maybe require someone from the Unity team, or someone quite knowledgeable about Unity. I don't know if it deserves a bug report as I can't tell if it's done on purpose. Some background first :
I am making a procedural planet generator for a school project trying to copy what Outerra does. The terrain is separated in chunks, each represented by a mesh. The terrain has to support collision, so I've added Mesh Colliders to the terrain chunks, it works fine. Of course Unity generates the mesh collider in run-time and that creates lag spikes. Then that terrain has to be saved to be streamed from disk during run-time.
The chunks of terrain are stored during a run-time generation phase as prefabs (with a meshRenderer and meshCollider as components, using the same mesh) using PrefabUtility. I face one very tough problem though... Unity doesn't want to keep the data that the MeshCollider generates or bakes for itself in the prefabs.
If I save a terrain and immediatly fly around in it, it's completly fine, performance is great, I don't see any Physics baking in the profiler. Which means that the MeshCollider's data has been kept in the prefabs ! But as soon as I save the scene or try to build, Unity opens a windows that says it is "importing small assets". And then if I try reading the terrain again (flying around), lag spikes from Physics everywhere. So when unity does its importing stuff on all the terrain data I've saved, it deletes the MeshCollider's baked data from my prefabs... And that kills my performance.
So my question is, can something be done to prevent this? Can someone explain to me the reasoning behind it, or if it's a bug that I should report ? I guess it's a very specific issue but I'm lost here. And why is it that Unity doesn't let you save the MeshCollider's baked data in the first place ? This would help a LOT of projects using procedural generation I think ^^
Thanks for reading :)
Your answer
Follow this Question
Related Questions
Procedural NavMesh Instantiating 0 Answers
Problem moving static batch root when using StaticBatchingUtility.Combine 1 Answer
Baking shadow maps for static objects spawned at runtime 0 Answers
AAPT Failed! 0 custom asset files in raw for Procedural Examples Paint Vertices to Android 2 Answers
Assigning Textures to Terrain at Runtime 2 Answers