It is because that the RateScale is multiplied twice.

First at UAnimSequenceBase::TickAssetPlayer :

{{ const float PlayRate = Instance.PlayRateMultiplier * this->RateScale;}}


Second at UAnimSequence::AdvanceMarkerPhaseAsLeader :

float CurrentMoveDelta = MoveDelta * RateScale;


It seems like we should remove the Second multiply.


Steps to Reproduce

1.Set a AnimationSequence's RateScale to 2.

2.Add a SyncMarker on the Animation Notifications Track.

3.In the AnimGraph , use this Animation and set a SyncGroup to it.

4.In the preview window, the animation's play rate will be doubled.

Have Comments or More Details?

There's no existing public thread on this issue, so head over toAnswerHub just mention UE-59008 in the post.

Login to Vote

Affects Versions4.19.2
Target Fix4.26
Fix Commit4325552
CreatedMay 11, 2018
ResolvedAug 11, 2020
UpdatedAug 28, 2020