I’m trying to make a health-vignette system for my game. The way I’ve done it is using an image and then an animation to slightly change it. My question is how can I do it without using event tick? I need to have the health value, so using event construct doesn’t work since if it changes it won’t do anything. This is the system I’ve used for it
Hello @Mr_Adr1an_Bandit ,
You could try it this way to avoid using the event tick:
First, create the widget with the Low Health Vignette Effect animation, and in the Event Construct, call Play Animation.
Then, in your BP_Character, create a function that calls the desired widget. In my example, I used a condition where, if the health is equal to or below 80, the widget is created, and if it’s above 80, it’s removed.
(logic to remove life and call the created function)
You can also create a function that contains just one Create Widget, and call it whenever you need by using Cast to BP_Character.
For example, every time the player overlaps with a box, you can call it like this.
I’m also leaving you a video that might help — even though it’s old, it can still serve as a good reference.
This video may also be useful.
Let me know if it works for you, and if you have any questions, feel free to ask!
i love the above answer.
just one tangential idea, if this is a post-process effect or a material or ui you can just implement the animation in the material itself. and pass that info with a material parameter collection.
you would still need to animate the mpc value.
i’m not 100% sure, but maybe the animation on ui doesn’t block the game thread, or maybe it does. in which case a tick is as efficient.
if it helps you, i’ve made a a foss plugin that, among other things, has components and a subsystem to perform simple animations of several things. materials and mpc included.
maybe it gives you a hint on how to implement yours.





