I have an Animation created for all components of my widget to fade after 3 seconds, to coincide with my screen fade, issue is, that the widget animation fires immediately so when I start the game the widget is already faded to invisible but I want it to do that AFTER the Travel from Dialogue event is started, specifically the On Clicked (TravelButton).
So what plays the widget animation? Why not play the anim when you hit the button?
tl;dr:
One note. Whenever / if possible, consider avoiding having logic in the widgets themselves. Especially latent actions, like Delays. It may become a little debugging nightmare when you ask the widget to do something and remove it before its Delay happens. This also becomes unmanagble once you realise off-screen widgets do not Tick.
The script above belongs in the player controller. I’d have a custom event there and have widgets call it. This way you do not need to copy this to other widgets, everything happens in a single BP, and widgets are somewhat volatile, they come and go and the PC is forevah.
Happy to hear best practice, might as well try and implement it, would reduce the chances of anything breaking or going wrong in the future, I managed to get it working after tinkering with it…but I will try and move it to the PC, thanks!