I have read into pathfinding over the last couple of months as it has been a high priority for what I move to working on next. I have currently been building out a game development architecture framework for a platform I am working on as well as an MMO framework for seamless worlds, which works with any socket engine, for my company’s game projects.
I have pathfinding marked down on my work schedule for next week but after coming across this while researching I decided to post a thread before I got stuck in so that I had answers waiting for me; that is how I came across your thread.
The initial plan was to build out my own multi-threaded A* pathfinding solution in C++ to work alongside my MMO framework (and with the seamless world zoning module I have built) for lightweight, fast pathfinding for servers to make use of.
After coming across Aron’s project, it has had years of work put into it and he provides source code access; so, my mindset is that it would save me more time to re-write his work rather than doing everything from scratch myself and re-inventing the wheel.
I intend to make a decoupled, modular pathfinding solution so that it can be used in anything with no extra work (singleplayer or online games, with any engine - Unity, Unreal Engine 4, independent servers, etc).
I will likely be looking into using Recast for the C++ port of the project, so maybe I can help with looking into why you are having trouble getting it to read your verts/indices/layers to get a good path.
In terms of the tag issues for your water, I am not sure how much interest I have in that for what I intend the pathfinding to be used for but I don’t see why I wouldn’t want to be able to define separate navigation paths for different types of objects/characters; therefore, it would likely be something I would build into my adaptation, it is more of how much of a priority it will be marked at rather than whether or not I would implement a working solution for this.
In terms of directly using Unity’s navmesh data - I will have to take a good look at what he currently does and see if I can decouple it so that it is modular for coupling with any navmesh data (with an interface or wrapper to achieve this). If it would result in being too much time wasted, I will likely stick to just using Recast instead.
As I have implied from the above, so far I haven’t gotten started on implementation yet but plan to very soon, and I know how I want to go about it. Once I dive into the source code, I can plan from there what my roadmap will look like.