This behavior I noticed only happens in UE5, I didn’t have this issue in UE4.
For the sake of demonstration I will provide a dummy example:
Montage 1 has 2 sections and they are separate meaning only one section can play.
Montage 2 is just playing the idle animation.
The idea here is I want to use a notify at the end of section 1 to play another montage, the issue here is when I play the other montage it seems like it’s blending in using section 2 of the current montage.
I’m also using 0 as the blend out for montage 1 and it seems it has to do with the issue but based on my experience with UE4 this is not an issue, and why is section 2 playing at all.
Here’s a video showing the result, you can see there how when the notify triggers and it should blend from section 1 (idle animation) to montage 2 which is also idle, the result is it uses section 2 to blend in.
Any ideas ? once again this behavior is only in UE5. Thank you.
I got around this by calling montage stop with a small blend out value like 0.01 before playing the next montage.
This also fixes an issue where If I play a montage with 0 blend out delay and chain another montage it would snap to whatever the animBP pose is and then back to the montage, in UE4 it would keep the last montage pose and transition with it to the next montage.
Seems like something has changed when it comes to a montage with 0 blend out delay.
I can confirm this still happens in 5.4.4.
I stumbled upon this issue when I was creating a reload animation with a shotgun where I have 3 different animations; Intro, Main Loop, Outro. Where I start by playing Intro then I play Main Loop for however many bullets need to be reloaded and then I play Outro.
I found that this issue is exactly 1 frame, so if you play at 120 fps you can’t really see it that well compared to 30 fps where 1 frame is longer.
Currently the only “fix” is as you said to introduce a blend out time, which works, until you play at 30 fps where you need a longer blendout time which doesn’t work well for our case.
It would be great to see this issue fixed as it currently is the main roadblock for our animation system.
Hi! I ran into the same problem but have taken a different approach.
There is a boolean variable exposed in the Asset Details called “Enable Auto Blend Out”. As you can see in the image, it freezes the pose of the montage instead of blending out if that option is deactivated. It will stay frozen until stop explicity from somewhere (another montage for example, or “Stop Montage” node from an GameplayAbility).
OnCompleted and OnBlendOut will NOT be called if “Enable Auto Blend Out” is deactivated. This is important and one of the reasons I am setting a AnimNotify event at the end of the first montage to trigger the next one.
Sooo, I have a “charge attack” montage that plays in a GameplayAbility that has “Enable Auto Blend Out” deactivated. When that montage plays complete it triggers an an event through an AnimNotify in the montage,and when the event is received it plays the next montage (the actual attack montage).
This way, the result should not be affected by the FPS and work as intended.