When copy pasting keyframes in the animation editor and using the “Use Auto Tangent” feature, it will work as expected in the editor but when the animation is played in game, it is as if the tangent is never set and it interpolates jarringly.
This issue occurs in varying severity with nearly a hundred of my animations, the only workaround I found is to manually set the tangent of every joint in every keyframe by grabbing and dragging.
This place file contains one of my animations that exhibit the bug, and a script to play the animation when test played, though you will need to manually publish the animation and replace the id in the script for it to load.
In the animation editor, you will see after the main arm swing movement, the body is still but when played in game you should see a jarring bounce when it should be still.
Update, also “Use Auto Tangent” doesn’t have to be explicitly used, curve animations seem to use auto tangents by default when creating a new keyframe, and this is enough for the bug to occur.
This is another clear example. The studio animation editor playback looks as intended, and you can see the highlighted auto-tangent keyframe that is placed after a steep sloped curve. When played back in-game it looks like so:
It looks as if auto-tangents are calculated differently in-game than in-editor, and I hope that in-editor is the intended calculation or else it would be a massive breaking change when this is eventually fixed.
I have to manually set the slope of each keyframe for every position/rotation axis. There are 6 curves per limb per keyframe per animation and when dealing with hundreds of animations this takes many days to do.