Navmesh Questions

I have a class which derives from Pawn and overrides:

virtual bool UpdateNavigationRelevancy() override { SetNavigationRelevancy(true); return true; }

I’m then using the AI Move To node in blueprints to move the Pawn, this kind of works, at least for the first few attempts. The movement of the pawn is lightning fast instead of a smooth movement towards the point, I am using UFloatingPawnMovement in my Pawn class, I’m not sure if is the correct class to use here? How come the pawn movement is so fast?

After a number of attempts to path find the pawn seemingly gets stuck path finding, perhaps related to the same thing that is causing it to move so quickly.

I just wondered if anyone could perhaps give me some pointers on what I might be missing here.

The navmesh itself looks reasonable when I put ‘show navigation’ into the console.

Would appreciate any input!


I guess the abridged version of this is:

  • Can I use navmesh and AIMoveTo with just a Pawn class (not character?)
  • If so, what movement component should I create for this to work properly (without jerky instant movement)
  • Is AIMoveTo the correct method to use here? Are Behaviour Trees the accepted method for moving Pawns around the navmesh?


As usual, I was a few steps away from an answer.

I switched to a character class with a character movement component and things started going better, I needed to change the default movement type to flying since there’s no ground in my game.

Also one thing I noticed was that the move to function accepted my request even though it would have to traverse sections of the level which hadn’t been built in the navmesh yet, this seemed to lead to problems where the character got stuck on the edges of obstacles, if I delayed for the whole navmesh creation then everything worked pretty much fine!

Maybe someone will find this useful.