Simple Move to Location - Completely Inaccurate

I need to make my character move to a location. He moves using Simple Move to Location and moves closer but doesn’t get anywhere near close enough to the specified location.

I am making a game that requires accuracy. If I tell him to move to 10, 0, 0, then he needs to be close enough that there is no visual difference.

The AIController has a ‘Move to Location’. Why this isn’t available to Character Controller is beyond me. There are convoluted examples of making a character controller move an aicontroller that moves the pawn… yeah, no. Even if I tried to implement this solution, the blueprint commands are never available to me such as casting to an AI controller (even from within a blueprint who’s parent class is an aicontroller). It is as if my Unreal Engine does not have these functions available.

Also, since I have built a lot of logic into my character controller blueprint I am not willing to switch its parent class. I should not need to just to get it to move to where it is told to move.

What is the proper way of making my character move to a specified location without getting it wrong every time?

I am using Unreal Engine 4.5

1 Like

As far as I know, the proper way is what you already described: make a Player Controller that in turn controls an AI Controller.If you are making an RTS type game, this approach makes total sense. It allows a single “player” to control different characters. If you want RTS or 3rd person RPG like controls (click to move) this seems to be the best approach.

As for the accuracy issue, I believe the AI Controller has parameters to determine how close the character has to get to the target point before it stops. If you set this distance really low, you could the snap the character to the exact location using “Set Actor Location” once the character is close enough for it not the make any visual difference. This would let you put the character as close as possible to 10, 0, 0.