NavmeshCut can massively reduce performance if an object with NavmeshCut is falling, or for some reason never settles in the world. Both scenarios happen in my game, which has many thousands of these objects. I suggest these workarounds be implemented as fixes in the beta code line.
Changes I made:
- Make NotifyUpdated not internal, and count how many updates occur for a single object. If a single objects seems to be updated infinitely (in my case more than 60) disable the component. A better approach might be to increase the required update threshhold if an object updates every frame over a long period of time.
- If an object is under the world and falling forever, return false from RequiresUpdate() or else just disable the component
- If an object has a rigidbody parent, and the object is moving at high velocity, return false from RequiresUpdate()