It’s possible to have multiple keyframes on the same track share the same frame in the sequencer timeline. This creates some unexpected situations that can only be fixed by going into the graph editor and finding and deleting the duplicate keyframe.
For example when dragging a keyframe onto another, most other animation software will replace the existing keyframe with the new one. But in UE, both keyframes now exist on the same frame, conflicting with each other.
I’d like to request that when you drag a keyframe onto another keyframe, the new keyframe replaces the old. There might be other situations that create these twin keyframes as well, this feedback goes for those as well.
Reviving this with a possible solution.
I believe this is either caused by the auto-key feature or when copy-pasting a keyframe over an existing keyframe.
You can simply right-click the section (the blue part) with duplicate keys, then select Edit → Reduce Keys with a specified tolerance:
I was wrong. The Reduce keys option both in the track section as well as in the CurveEditor only reduce keys based on their value instead of their time. So this solution does not work. Turns out there is no built-in way to remove duplicate keys.
So I wrote a small CurveEditorFilter class that seems to do the job. No guarantees that this works flawlessly.
Drop these into one of your editor modules and make sure to add a dependency on “CurveEditor” in your build file as well.
Then select all the keys you want to de-duplicate in the CurveEditor, go to Filters and select the Simplify Time filter. Adjust tolerance as needed and apply.
Also, for 5.6, we are making a change so that keys that have the same time will be removed when keys are deselected. Internally, we need to still allow keys to be on the same frame so that you can drag a key past another. But hopefully removing them on deselection will address these issues of having multiple keyframes on the same frame.