Widget animation stops before it's meant to

Hello, I have an issue with the widget animation. Here is what the animation is supposed to look like when it finishes playing:

But some times, randomly this happens:

The animation just freezes (the buttons are still responsive when it freezes)

Can you show the animation track?

Sure, here you go:

Yeah, that looks more than fine. A couple of questions:

  • how much do you think is missing from the animation? 0.05 or more? eyeball it if you must (or debug it by checking animation time) - It’s the sliding text, right?
  • are you sampling it on Tick and try to play it from any previous interruption?
  • is the widget always in screenspace? (widgets don’t tick or play animations off-screen)
  • is the widget scaled in any way or a child of a scalebox?
  • when you play the anim in the Timeline, does it play ok?

So what’s the desired value here:

Q1. Well it depends, sometimes it’s missing just a bit of the end and sometimes it’s missing a half of the animation. Sometimes it’s the “box” (image with colour) that freezes too and the button sometimes has a chance of freezing too. Basically if one thing freezes the whole thing freezes)
Q2. I’m sorry but could you please explain what “tick” is? The animation repeats if the user inputs the incorrect password
Q3. Yes the widget is always in the screenspace
Q4. I don’t think it’s a child of anything (It’s created normally in the viewport)
Q5. Yep it does play alright in the timeline but sometimes randomly this happens:
(“Invalid product key” is not meant to be there, it only gets fixed if I play the animation and it gets to the part where “Invalid product key” has keyframes)

Hello, that basically moves the “Invalid product key” text down while it fades in as it becomes visible

Q2. I’m sorry but could you please
explain what “tick” is?
The Event Tick in the Graph editor (up right in your screenshot, next to the design mode). It executes every frame if the widget is active.

Just a thought but It might not be your animation, it might be that you’re triggering something else in your event graph before the animation gets a chance to finish. You can use a “Get End Time” node to feed a delay to make sure that any code you’re calling after waits for the animation to complete. You might even want to add a fraction of a second onto the End Time with a float + float.

Also, I have to say it, why on earth are you using product keys in 2019? I was just thinking about how nice it is to not have them anymore when I loaded up GTA4 the other day and it reminded me that they used to exist.

So what is the value at this key then?

Judging by the attached pictures, it seems that it’s the entire anim that does not play fully. There’s a half a dozen things that can interrupt widget animations.

@HedgehogSonic - can you show the animations keys in the curve editor. Seeing how the Render Opacity is below 0, it might be a mess. Can you also show how the anim is triggered?

Value? it goes from 0 to 1 (becomes visible)
and for the moving part the value is -31.6591129 and ends at 0

@TorQueMoD Hello, thank you for your reply! I’m sorry but I don’t understand how I should use the “Get end time” node, I also don’t understand what you mean by “add a fraction of a second onto the end time with a float + float”. Ah, well I have product keys in my game because I fear that once I release this game nintendo will be quick to remove it if they see their characters on it (The game will be released as a free game)

@Everynone Hello, thank you for your reply! here you go: For some reason there is nothing there in the curve editor?

It’s triggered by a button:

Oh jeepers. There’s another suggestion for you… don’t use someone else’s IP. It’s illegal even if you release for free. It’s also just wasted time for you as you could instead focus on creating your own characters which could also become popular. Regardless, drag your animation into the event graph and then drag off it and type Get End Time. This basically gets the length of the animation so if your animation is 5 seconds long then the End Time will be 5. Then from the Get End Time drag off again and type + and you’ll see float plus float. Type 0.2 in the bottom float entry point to add a 0.2 second delay to the end of your animation and then run your following code from there. That will prevent any code from firing too soon before your animation has finished playing. This will only fix things IF the next executing bit of code is actually what’s stopping your animation.

For the curve editor, click on the Translation of the text block’s transform. You should see the curve then, post a pic if you can.

Also, check if the animation actually finishes playing, use a button if that’s more convenient:

don’t use someone else’s IP. It’s
illegal even if you release for free.

Why is it always Sonic? There must have been a dozen of these over the years both in the forums and here. The most criminal one I remember:


Be original and rip off something else for a change ;p Or you know, make a sonic-like game without the Sonic hogself.

Why’d you think Sonic? Nintendo doesn’t even own Sonic, Sega does :stuck_out_tongue:

@TorQueMoD - @HedgehogSonic

Dunno. Coincidence? I think not. o_O No?

What makes it even worse is that OP already expects a Cease and Desist.

@TorQueMoD and @Everynone hello, thank you all for your reply and suggestions! I have decided to create a new character and replace the mario model (I think it would be a waste if my game gets taken down after a day of uploading it, also i’ve never seen a sonic fan game being taken down before). @Everynone here you go:

Weird, before it would show the “complete!” message once it reached the end but now on the 3rd try it stopped (before it was meant to) and said “complete!”.