So, I am trying to fade decals out after a short dealy (this feels like it should be extremely simple to do). So at first I tried the “set fade out” node which didn’t work. After some googling and reading the documentation I found out that I had to add a “decal lifetime opacity” node to my decal material". So I did, but still no fade, they all just disappear instantly after the delay. I know I could just do a dynamic material, but that feels stupid when there is a built in function for it. Also i am trying to apply the effect to around 20 decals at the same time. I also found this twitter post https://twitter.com/highlys.../status/1265096709622775809… that also mentions the lifetime opacity. Am i plugging it in the wrong way in the material editor? Anybody know what i am missing here? feels stupid on getting stuck on something that should be so simple to do. Appreciate any help
Hi, posting this answer here since I found this while looking for an answer, you simply have to call SetFadeOut on your decal component
Blueprint Doc link : Set Fade Out | Unreal Engine Documentation
C++ Doc link : UDecalComponent::SetFadeOut | Unreal Engine Documentation
Only after setting the Fade Out will the Decal Lifetime Opacity work properly, you can also use SetFadeIn to have a fade in effect
I’m at UE5.6
My decal can’t fade out even if I call SetFadeOut() on my decal component and plug in the DecalLifeTimeOpacity
node in my decal material.
Any ideas?
Hi! Have you found a solution to this problem?
I was able to solve this problem in my project in UE 5.6!
-
Make sure that in the decal material the “Decal Lifetime Opacity” is connected to the “Opacity” input.
-
If you spawn a ready-made BP Actor, then add it to the Event Graph: EventBeginPlay → CreateDynamicMaterialInstance → Delay → Set Fade Out.
Don’t forget to connect your Decal to the “Target” input. -
Change the “Duration” values in “Delay” (its lifetime decal).
-
Change the “Duration” values in “Set Fade Out” at your discretion (its Fading time). Inportant! The “Start Delay” must be zero!
For Example: