SetLookAtPosition inaccurate?

I'm trying to get an avatar to look at the camera. Sounds easy enough.

Here's my code:

#pragma strict

private var animator : Animator;

function Start () {
    animator = GetComponent(Animator);
}

function OnAnimatorIK() {
    animator.SetLookAtPosition(Camera.main.transform.position);
    animator.SetLookAtWeight(1.0);
}

I'm using the standard Mixamo "Carl" avatar with the "Idle-Ready" animation from the "Raw Mocap Data" in the Unity Asset store. Again, all very straightforward.

The result is that Carl is looking somewhere other than at the camera. As I move the camera, Carl does look vaguely in the general direction of the camera, but he's not facing me and definitely not making eye contact.

1356832--67204--$carl_ik_issue.jpg

Anyone know how I can get Carl to pay attention?

Did Carl's avatar map correctly? (Check Import Rig > Configure...) Maybe the auto-mapper picked up the wrong bones for the head/eyes.

Yes, I checked that and it looks fine.

Does the problem happen with a different model?

With a different animation?

With a different IK target instead of the camera?

Just trying to narrow down the issue.

Edit: Also, is the animation jittery or smooth? If it's jittery, maybe something else is taking control of the bones after OnAnimatorIK.