Custom navigation mesh

How would one go about making a custom navigation mesh?

That’s actually quite easy. Just create a plane and extrude it so that it fits the areas the navigating object should be able to pass.
The only thing you have to be aware of is that the plane needs to consist of quads only, triangles or ngons cause errors.
When you’re done set the object to “navigation mesh” in the physics tab and hit “navmesh reset index values” once.
After that you can use it the same way as the automatically generated one.