I have a behavior tree that uses the “Move To” task. After upgrading to 4.9 that was still working fine. However, it broke after I rebuilt the navigation. Which seems like it would be a problem with the nav mesh so I tried all sorts of different fixes such as making it dynamic, forcing rebuild at run time etc. I also tried making nav meshes in the streaming levels instead of having one in the persistent level that covers all of the streaming levels. The only fix that worked was to use “Move Directly Toward” instead of “Move To”.
Here’s the persistent level with both streaming levels visible, and the navmesh which seems to be partially obstructed by the second streaming level (but its set as dynamic so should build when the streaming level loads).;
The goal is the player character, so it looks like both agent and goal are on the navmesh and there is a path from one to the other even if the navmesh has not been rebuilt
We have not heard back from you in a few days, so we are marking this post as Resolved for tracking purposes. If you are still experiencing the issue you reported, please respond to this message with additional information and we will offer further assistance.
I finally got round to doing a repro and unless I’ve screwed it up, I’ve got less functionality in the repro than in my project. I did the following;
new third person C++ project.
Two level script actors, C++ classes, one called persistent and one called streaming.
Made a persistent level with the skydome in it and two streaming/sub levels with environment brushes, very simple from the example files. parented the persistent to persistent c++ class and sub levels to streaming C++ class. The sub levels occupy the same space.
Made a navmesh bounds volume in the persistent level that overlaps both sub levels.
Made an ai controller class and a bot character class. Made very simple blackboard and behavior tree. The tree just locates the player and then activates “move straight towards”. If that worked I was going to try “move to”, but it didnt.
Placed third person start point and bot character in persistent level, and made an on begin play event in persistent level that loads the first sub level.
On pressing play I can see the behavior tree activated, on debugging I can see that its locating the player character and assigning it as a variable on the behavior tree blackboard. Move straight towards is activated but the bot doesnt move. I hit P and can see that the navmesh has been generated and covers the whole area.
After following your example I was unable to reproduce this issue. The Ai was able to navigate to the point that was given to it (after setting the nav mesh to dynamic) Could you submit the blank project that you are using to reproduce this issue on your end so that I could take a closer look?
I also have this problem, I think bug in “Move To”, sometimes a character goes to a point 0,0,0, sometimes does not move. In project version 4.9 - not repeat it, only converted project. Solve the problem - create a “task” with a movement to point (“AI Move To”) - it works instead “Move To”.
also not work check “Is At Location” (instead Reached Move Goal) - the sequence executed in a circle: moveTo (targetLocation) - wait - moveTo (homeLocation) - moveTo (targetLocation) - wait - …