use custom build navmesh in detour

Hi

I’ve been searching about this for quite some time now, and can’t really find any solid answers. I wonder if it’s actually possible to have a custom modeled mesh to use as navmesh for the detour system. I can’t use the tile based generated navmesh for my project since my environment isn’t based on a flat surface (but spherical). I know it should be possible with the original detour/recast code,using some adjustment (NavMeshGraph obstacles on spherical worlds - General - Support Forum), but i’m not sure if this is even possible using UE4 integrated detour/recast system.

I already did a setup using only Blueprints, generating a spherical point grid, and using linecasts to check which point is valid or not. Then doing a neighbour search for each point, and eventually using simple A* point based pathfinding. Which worked…partly, since when I add too many grid points the editor crashes.

So for now the two other approaches I thought of:
-Creating simple point based A* pathfinding using custom mesh, which is most straight forward
-Try plug the custom mesh in Detour, and keep all benefits of the Detour UE4 functions

I rather go for the second if thats even possible, though have no idea where to look or start if so…

Any ideas, or pointers are much appreciated!!

thank you

Frank

I’ve now started to get all info from my navmesh to use with A* pathfinding. I’ve created a struct which contains the tri indices, tri locations, and adjacent vertices. Also storing the face index a pawn is currently on. This altogether should be enough information to implement simple A* pathfinding.

However, I read in the release notes of 4.13 that:

Unfortunately I cannot find any information or documentation about its usage and where to find it. Does anybody have any experience using this, or could point me to documentation about this system? Any help would be much appreciated!

Is this function usable assigning my own navdata (and which specific data does it actually need)? Or is it better to write my own A* function (still rather go with the native implementation of things…)

thank you
Frank