Anim BP and Character BP Tick desynchronization?

Reporting this as a bug since it seems to be a new issue as of 4.7, though perhaps I just overlooked it?

So here’s my setup: my grinding character has its location set every Tick to a Distance Along Spline of a given spline component. The new Distance value added is delta-time compensated. Immediately after (in the same execution path) the distance is calculated, I offset the distance by a fixed number of units in each direction to generate foot positions (so, the delta time compensation is incorporated here by default since no matter how the actor moves, the feet always move exactly the same distance) and store them as a pair of transform variables.

So I’m generating foot transforms every tick.

In my AnimBP graph, I take those two values (I’ve tried by casting to MyCharacter OR by using an Interface Message to set sister variables in the AnimBP every tick, same results) and use them to drive IK solvers.

Usually, this works. But SOMETIMES, the feet jitter back and forth along the rail every frame. If I use a console command to reduce the framerate, the distance of the jitter increases.

What I SUSPECT (but cannot prove) is happening is that the AnimBP is not refreshing the pose every tick in sync with the CharacterBP. I don’t know why that would happen, but it would explain what I’m seeing; the feet are initially solving to the old value, then getting the new value and solving to that in the same tick. It’s as though the AnimBP’s tick has somehow desynchronized from the character, so that values passed in every tick aren’t actually showing up before the solver gets to work.

Any ideas on this?

Resolved this: it was due to me using a Timeline node to “Tick” the foot transforms. Replacing this with a custom event executed by the ACTUAL Event Tick fixed it. Evidently the problem is how Timelines fire Update pins, which is not consistent in the Ticking order.