A quick addendum:
I said above you can bind the Update function on any AnimNode. That’s incorrect. For the AdvanceTimeByDistanceMatching
and DistanceMatchToTarget
functions, you need to use a SequenceEvaluator node, and you need to set Explicit Time to be Dynamic:
You may also want to bind a function to On Become Relevant that resets the ExplicitTime of the animation. Otherwise the next time the node becomes relevant, it will try and start playing where it left off before (which might mean the animation appears to freeze on the last frame):