Velocity. The way you are calling it is basically setting velocity to zero and you only are doing it one time. Velocity is the actors speed, but it is typically not something you set, rather get. Not that you cannot set it, but in AI, it will not remain that value. The AI will move based off the character movement component. If Max speed is 500, that is as fast as the AI will go, even if you set its velocity. Essentially, every tick velocity is being updated. It is not typically used as a means to set bounds, rather a check to see if the character is behaving within its bounds or maybe a starting velocity of a physics actor. Setup your AI Character movement component with the params you want. If you want to change params, like sprint if you are X away from Target, you can by getting the controlled pawn of your AI controller casting to the AI char, and setting the movement component params.
NavMesh IS REQUIRED. For any AI movement, event the simple move to node, you need a NavMesh…unless you program your own complete navigation system.
Calling Move To Actor/Location on tick is wrong. Do not do that, here is why. This node sets the destination to a location or actor to an AIC. The AI moves and then checks on “tick” to see if it has reached its desired location. If not, it continues to move until it does. Setting it every tick does nothing but set the same variable to the same thing every tick. Only call this when you want to change the AI destination.
Acceptance radius -1.0, I don’t think that calculation is possible.