Checklist for fixing Navigation?

Hey Guys,
I’ve been trying to fix Navigation in our Project for several weeks now and since i’ve check Discord, the Forums, the Content Examples and Answerhub and still have not found an answer, i was wondering wether there is a set of unspoken rules or some sort of checklist when you’re trying to fix navigation issues in a project. In particular I have problems regarding the supported Nav Agents and how to set them properly up, and how a pawn selects the proper Nav Agent, aswell as general Navmesh generation and visualization.


Basically i tried to have 2 different Nav agents. One for a smaller pawns and one for Bigger pawns so that the pawns do not get stuck. I got it to work fine in a new empty 3rd Person project. But even tho i tried copying the Values 1 by 1 to our own project i could not replicate the desired result that i managed to create in the New 3rd Person project. Some Information that might help is that some of our pawns have multiple “Hit” and “Collision” Boxes attached which might somehow interfere with finding the right supported nav agent.


Maybe this information helps aswell: I’ve also witnessed some confusing behaviour where a navmesh did not generate anymore even tho i did not change a single value and only unchecked and (re)checked the tickbox of the supported Nav Agent of a Nav Mesh Bounds Volume. Another weird behaviour that i witnessed while trying to fix the issues was that Navigation sometimes did not work at all if the Navmesh bounds volume had either Agent “A” supported or Agent “B” supported, but Navigation did work when the Navmesh Bounds Volume had both Agents “A” and “B” supported.


I Hope somebody can help me out, since i’ve been trying hard to solve this and the project is supposed to be released next month. Cheers and Best Regards

As a general rule I’d say that if you don’t know how something works you can always look at the code :wink: The logic picking appropriate nav agent for a given pawn sits in UNavigationSystem::GetNavDataForProps. The idea is to pick the smallest possible navagent that encompasses given pawn’s radius or in other words, the one smallest one that guarantees the given pawn won’t get stuck when following paths on related navmesh.

Cheers,

–mieszko

Thanks, I’ll see what i can find there with my limited c++ knowledge.

Some posts say that values of 2 supported agents have to have a difference of 5 Units for unreal to recognize them as different agents. Does anyobody know which values are meant specifically.