The code for my issue is in the gist below.
I wanted an easy way to move in direct lines to certain waypoints without throwing nav modifiers all over my level. I made some waypoints with a property that can be changed in the editor to set the order of the waypoints. The MoveToWaypoints function in the EnemyAI source file finds the current waypoint that the AI should move to, and then calls MoveToActor in the AI Controller.
In my custom ai controller, I use an overridden OnMoveCompleted to call MoveToWaypoints again.
The issue is that the character loses all velocity after the move is completed, and so you can see him stop briefly and then go again. I solved with a workaround by storing the velocity every frame and then applying that velocity after each move is completed, but I feel like this shouldn’t be necessary. The stop on overlap parameter in the move to actor function is set to false. Shouldn’t that solve the problem. What am I doing wrong?