I have a map just for the main menu of a game.
When the map loads I call up a widget in the level blueprint.
I created 3 animations in the widget. Each animation controls specific objects (currently only Buttons and or Text).
All 3 of them play fine in the preview (when scrubbing), and all but 1 play fine in PIE.
The one that doesn’t show has 4 buttons, each with a Text child. All eight of these objects are set to Enabled and Visible by default. They are defaulted to alpha 0. During the animation I ramp up the alpha (of Button’s Background and Text’s Opacity) to 1. The ramping to 1 shows up perfect in the preview for all 8 of them when scrubbing or playing the animation. The alpha of these objects is being changed in no other animation/event graph/function.
I put a breakpoint on the play animation node for the animation that isn’t appearing, and it’s getting hit.
In an effort to find the root of the problem. I tried:
- recreating the animation from scratch
- renaming the animation
- setting the Zorder of the 4 buttons that aren’t showing up to 10 (all other objects in the widget are 2 or less)
- resetting the default opacity of all the buttons’ background and text to 1
- making sure none of the objects in this problematic anim are being changed in any other animation
Any help would be greatly appreciated.
This issue got resolved somehow.
tl;dr: If animations don’t seem to work. Try to temporarily set keyframes for the objects you want animated in a different animation, and then delete those temporary keyframes.
I think this problem came about due to the fact I had been jumping back and forth between animations.
Just a guess, but I suspect certain characteristics of objects (specifically, object location) in animations, that weren’t keyframed, were saved to memory.
So when I tried to set keyframes on those objects’ location, the keyframes were superseded by what was cached behind the scenes.
So I manually keyframed those objects’ locations in a different, unrelated animation thinking maybe the positions have to be initialized or something in the first animation that was played on the widget. Got no change.
Today, I booted up. And tried it again without changing anything. Same as before.
Then I removed those keyframes from the unrelated animation. And the animation finally plays just like it did in the preview.
I recently noticed I was getting problems and I’d like to think it’s related to Animation Finished for UMG animations.
For some reason event dispatchers were getting called but weren’t actually executing the event if processed through an anim finished event.
Removing the anim finished event and manually setting a delay for the length of the animation fixed all my problems with it.