UMG Widget Play Animation Restore State broken in 5.1.1

Hi,
I migrated my project from UE4 to UE5 and the “Restore State” boolean on the “Play Animation” node for UMG Widgets is now not working properly, while it was working properly in UE4.

To reproduce is pretty simple.

  1. Start from 3rd person template project
  2. Create a new widget with a canvas and an element in it, like an image or a button
  3. Animate the element so it moves down with a “transform” on the Y for example
  4. In your char BP add a new event on key press and trigger the “Play Animation” node of the widget. Set “Restore State” to TRUE on this node.
  5. Play the game and press the key once, you will see the UI element move down and then resetting to the top position by itself (all good)
  6. Press the key again, and you will see the UI element restart from top, then move down BUT will not reset to top position anymore, press the key again and it will never reset at the end of the animation.

This was working in UE4. Can someone please check it and confirm, also is there a fix? I need a fix or our UI animations are broken. Thanks.

2 Likes

I’m running into the same thing.

This is a late answer but I want to give an answer to the people who have that issue like us. I had the same issue after update my game to ue5.2 and I solved it by using Restore State at widget animation settings.

This is how to do it,

For your example, you changed the transform, and you can go to animation, right click to the transform that you want to restore state after animation finished, then go to Edit Section, you can see When Finished combobox there, just select it as Restore State and it will be fixed.

Imgur

1 Like

Just for anybody else: This also seems to need to be set to restore state here in order to loop animations as well. Took me a day to find this. Totally opaque.

The biggest issue is here is that animations don’t appear to be freely resettable. In my use case I need the animation to hold it’s last frames state until one or more user actions have ben performed.

From what I can tell, I either need to set frame -1 to be the same state as the last frame, or I need to play the animation in reverse offscreen when it’s time to reset.