Are bone transforms in LateUpdate the transforms for the next or previous frame?

Hi all,

The Unity documentation says "One important thing to know is that the animation system updates the Transforms after the Update() function and before the LateUpdate() function is called".

My question: if you look at those bone transforms in LateUpdate, are those transform values representing the rendered character in the previous frame or the next frame?

My suspicion is that in LateUpdate, you're looking at old data. I'm driving character movement off the movement of my character root node, and I get glitches during the first frame of each animation.

Thanks, Mattijs

The order is:

  1. Update() calls
  2. animation sampling
  3. LateUpdate() calls
  4. rendering

So the idea is that you can apply any procedural changes in LateUpdate to your transforms after animation sampling, but before rendering.

Why you have glitches? Hard to say from the given information. My guess is that your code depends on particular order of Update/LateUpdate calls between game objects (the actual order is undefined). Or something like that.