AI navmesh backing - Can we have the old system back?

I haven’t posted on this for 6 months, so time for an update.
Is it possible to somehow back the navmesh with the old system?
It was far far superior for baking than what we have now

Heres some other posts of mine on the subject

These are about the terrain
but something else I would do is use the ‘navigation static’ tag (which is now disabled so can’t be changed)

eg I could have a wall where the navmesh will avoid it but will not get generated on top of it.
i.e. thus a person can’t walk on a wall.
How to do this with the new navmesh system?
(yes you could hack it for an easy shape like way by using a volume but yes works for wall as its just a simple shape) but for complicated geometry the new system is screwed, whereas in the old system it worked perfectly.

Surely I can’t be the only person suffering through this, its been more than 2 years & I still wait for a solution.
Cheers

OK Heads up just in case this comes up from anyone searching
I have managed to work around it.

Solution (Do full back up first - important, as you don’t want to lose your work)

  1. Duplicate the terrain (navmesh terrain)
  2. attach a script to the original terrain , that when enabled, copies all heights from main terrain to the navmeshterrain mainterrain.terrainData.GetHeights() → navmeshterrain.terrainData.SetHoles()
  3. run this whenever you make changes to the terrain heights, thus the navmeshterrain has correct heights
  4. paint holes in navmeshterrain when you don’t want the actor to walk
  5. run the script again, this time copy the holes from navmeshterrain to mainterrain
  6. navmeshterrain.terrainData.GetHoles() → mainterrain.terrainData.SetHoles().
  7. run the navmesh generation on the mainterrain
  8. undelete all the holes in the mainterrain
  9. disable navmesh - > press play and it works (the navmesh terrain is disabled thus it shouldn’t affect performance)

btw I have navmesh terrain disabled during all the script running and it works, its only enabled when Im painting holes

yes its a PITA, it would be so much nicer just being able to paint on the main terrain where not to walk instead of farting around with 2 terrains that have to be in sync with each other.

In the new system you need to add NavMesh Modifier components to GameObjects instead of marking them with the Navigation Static flag. You can set these components to override the area type to Not Walkable in order for the NavMesh to not be generated on top of the objects themselves (e.g. on a wall).
There is also a NavMesh Modifier Volume component that you can use to change the area type inside a box volume.