Description

Frame-locked Sequencers can occasionally produce frames with a zero delta time due to frame number truncation.
When this occurs, if the animation cursor is within the range of a Notify State that is currently playing, the End event may be triggered even though the cursor is still inside the Notify State range.

The following code is a workaround :

void FAnimMontageInstance::Advance(float DeltaTime, struct FRootMotionMovementParams* OutRootMotionParams, bool bBlendRootMotion)
{
...
				// Delegate has to be called last in this loop
				// so that if this changes position, the new position will be applied in the next loop
				// first need to have event handler to handle it
				// Save off position before triggering events, in case they cause a jump to another position
				const float PositionBeforeFiringEvents = Position;
 
				const bool bHaveNotMoved = (SubStepResult == EMontageSubStepResult::NotMoved);	//work around : add line
				if( bHaveMoved || bHaveNotMoved )	//work around : Trigger the event even if the cursor did not move.
				{
					// Save position before firing events.
					if (!bInterrupted)
					{
						// Must grab a reference on the stack in case "this" is deleted during iteration
						TWeakObjectPtr<UAnimInstance> AnimInstanceLocal = AnimInstance;
 
						HandleEvents(PreviousSubStepPosition, Position, BranchingPointMarker);
 
						// Break out if we no longer have active montage instances. This may happen when we call UninitializeAnimation from a notify
						if (AnimInstanceLocal.IsValid() && AnimInstanceLocal->MontageInstances.Num() == 0)
						{
							return;
						}
					}
				}
Steps to Reproduce
  • Download the reproduction project from the EPS case.
  • Launch the editor and start PIE.
  • Press 1 to play the Sequencer.

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-369316 in the post.

0
Login to Vote

Fixed
ComponentUE - Anim - Runtime
Affects Versions5.6
Target Fix5.8
Fix Commit52385961
CreatedMar 10, 2026
ResolvedApr 2, 2026
UpdatedApr 15, 2026
View Jira Issue