How to implement custom NavMesh

I need a custom navmesh to let ai navigate on walls and such, which is not possible with a Recast navmesh.
According to the answer of this question it would be best to make a class deriving from ANavigationData. But I can’t find any info on how to implement this.
How would I do this? It’s not clear to me how unreal navigation works under the hood.
Are there any examples I missed? Would I have to write a new pathfinding algorithm from scratch when I use a custom navmesh or could I still use Unreals built-in pathfinding?