Here's what I want to do: I have an animator with a single animation in its animatorController I want to be able to tell it "go at time X and apply the state you'd have at that time" Here's how I try to do this currently: Code (CSharp): // Get the playableGraph of the Animator, and make it so that we have to manually update it PlayableGraph PlayableGraph = Animator.playableGraph; PlayableGraph.Stop(); PlayableGraph.SetTimeUpdateMode(DirectorUpdateMode.Manual); // Get the AnimationClipPlayable of the animation // (I get it in a less ugly way in my real code. I promise!) _clipPlayable = PlayableGraph.GetRootPlayable(0) .GetInput(0) .GetInput(0) .GetInput(0) .GetInput(0); // Set the time of the clip to some arbitrary time we'd want to sample _clipPlayable.SetTime(15.875); Debug.Log(_clipPlayable.GetTime()); // This outputs 15.875 // Evaluate, so that the pose at that time should be applied PlayableGraph.Evaluate(); Debug.Log(_clipPlayable.GetTime()); // This outputs 0 However, this doesn't work. The animated object remains at its initial position. What I've found is that if I try to Debug.Log(_clipPlayable.GetTime()) just before doing Evaluate(), the value is correct. But after Evaluate(), the "_clipPlayable.GetTime()" is back to 0. Is this normal? How can I accomplish what I want?