No "Move To" is working for me

UPDATE: Presumably due to someone else’s work (possibly on the GameMode), it no longer gets stuck on the MoveTo BT node. However, the character still doesn’t move. I have also tested a non-AI character using it’s own Blueprint (no Behavior Tree) and Simple Move To Location and it still doesn’t move.

What, besides not having a NavMesh, would keep characters from moving?


As it says in the title, none of the Move To methods are working. I finally got the GetRandomPointInNavigableRadius to work, but he won’t move. I’m trying to use a Behavior Tree since I’m making an AI, but despite going into the MoveTo Task, the character doesn’t move.

When I try a Simple Move To Location or a Move To Location or Actor Task in the FindRandomLocation blueprint, it doesn’t move either. According to my PrintStrings, it goes through the Move node, but it doesn’t actually move the character.

Have you made sure that you have a nav mesh bounds volume in your level, and that it’s properly built navigation?

Yes to having a NavMesh, and checking that it’s properly built is when you press P and check that there is green and the character is within that, correct?

Maybe the point you are getting is inside the navmesh but it isn’t reachable. Try using this node instead of the random point in navigable radius node

113192-randomreachable.png

Edit: Also I think you need to get the recast navmesh with a get all actors of class node and feed that into the Nav Data pin

Get Random Reachable Point returns (0,0,0) consistently. Additionally, I’ve checked the random points and tested with predefined points and Target Point objects. Everything is within the NavMesh and it still doesn’t work.

But did you try this? (Using the recast nav mesh as the nav data)

Also beign within the nav mesh does not equal reachable. Please post an image of you map so we can see the nav mesh.

Another reason might be that your move to location task is being executed so quickly that you don’t let the AI finish one move to before starting another one. Take a look at a task where I do a simple move to. I make the task wait until the move to is completed by binding the ReceiveMoveCompleted to my event and then I let the task finish with the finish execute node.

I’ve tested with a non-random point that is reachable, as well as using both Get Random in Navigable Radius and Get Random Reachable. I’ve also tested by adding a delay in, although I thought that should be irrelevant with a Behavior Tree since it doesn’t restart until the branch is finished.

What would prevent a character from moving?