I've downloaded the latest beta (3.8.5), but I'm struggling to get this to work without the character appearing to be slipping across the screen. I could easily be doing something wrong. I'm using the Standard Assets pack for this test (with the Ethan model, and his animations - though not his animation controller).
I have a basic blend tree with Idle, Walk and Run animations in it. I computed the thresholds by selecting "Speed" from the drop down list in the blend tree. This gave me values of 0, 1.558402 and 5.662317.
I used the code from the AStar documentation and turned off rootmotion on the animator:
public Transform target;
public float speed = 1f;
void Update ()
controller.SetTarget(target.position, speed, speed);
Vector3 delta = controller.CalculateMovementDelta(transform.position, Time.deltaTime);
transform.position = transform.position + delta;
I copied the model with the same animator, but took out all the AStar stuff, and placed it next to the AStar driven one. Gave it a script that set animator.SetFloat("Speed", 1) and turned on rootmotion. It walks across the environment without appearing to slip, and walks much more slowly than the AStar driven one.
I've only been playing with Unity for about 6 months, and maths is not my strong point (particularly Vector maths), so I could easily be doing something wrong. Is there a difference between the speed value passed in to SetTarget, and the speed value passed in to the animator?