CharacterController.move and SimpleMove - speed variance question

Any help would be appreciated. What am I missing. Has to be something simple i’m doing wrong. I have waypoints and am moving my character towards them however they do not move at the unit speed passed to the move method.

_Direction = Vector3.Normalize((_JMyPath[_JMyPathSpot]-transform.position));
_MyController.Move (_Direction * Time.deltaTime);

I’ve even tried it with SimpleMove( Vector3.left * 1f ). On a cylinder placed onto a plane, it will not move at 1f if I check the distance its covered every second. It moves at .83 - 1.01 units. I can understand a little variance.

If I try its move method with ((Vector3.left * 1f) * Time.deltaTime) I get the same result…

Higher numbers vary less as a percentage a speed of 4 gets 3.94-4

I’m detecting the distance by every second storing the objects position; before I store it I log the Vector3.Distance from the last stored location and it’s current position.

Seems about right - you’re never going to move exactly 1 unit after 1 second with a variable delta time.

If you’re trying to move towards a waypoint and decide if you should start moving towards the next waypoint, instead of checking that your current position is equal to the current waypoint, check that it’s within some margin of error (like 0.1 units).