I’ve been tinkering with a flickering light effect. While it is possible to animate the intensity with Blueprint code directly, there’s an easier way that lets us use the intensity as an override and make the light flicker without futzing with variables. The solution is a Light Function.

To create one, let’s make a new material, select the output node and scroll down to the Material Domain. Set it to Light Function, which will leave only the emission value on the output node.
Now we’ll create some logic to animate this value like so:

Time will give us an ever increasing float value. Multiply this with a smaller value to make the light flicker slower, or higher values (1 and above) to make the light flicker faster. The Sine node exaggerates this and adds randomness to the value (otherwise we’d see a repeating pattern).
Frac will remove the whole number from the float and only leave the fractional amount, so we’ll get a value between 0 and 1. The Add node is used to never reach 0 as that would indicate the light being off, so it’s essentially the lowest value our light can reach. That’s out flickering function.
Now we can add this to any light source that needs it under Light Function.

The nice thing is that we can use the regular intensity (under Light) and the colour to adjust the value of our light without having to reach into Blueprints and variables. We can even use this technique for lights that are part of Blueprints without adding additional logic.
Neat, huh?
Do you know how to make lights flicker when “Substrate Material (beta)” is enabled in project settings as I find that it is in my UE 5.5 cinematic project? I’m a complete noob so I didn’t realize it was enabled. Enabled, it gives a different blueprint layout when creating materials that don’t work as you detailed. Also, in the Details panel, the Material Domain is greyed out so it’s impossible to switch from Surface to Light Function. I disenabled the Sub Mat setting and your instructions worked perfectly, but unfortunately my entire project is wrecked when disenabled so I need to find a work around to get the lights to flicker with it enabled. I appreciate any help you’re able/willing to offer.
Hi Hank! Sadly I have no experience with Substrate materials. All I know is that it is an overhaul of how materials work in Unreal Engine, and it’s still very much in beta. The main difference is that it introduces a new BSDF shader, so the existing lighting models (like lit, unlit, masked etc) can better express how surfaces are rendered. As such, if it’s enabled in your project (assuming it’s a pre-built project from the marketplace), I would imagine some of the assets rely on Substrate functionality so disabling is not an option in your case. Substrate does have a light function, so I would imagine doing flickering lights with a material effect should work with a bit of tinkering, but I’ve not had time to explore it. If you’re game, this guide may help: https://dev.epicgames.com/documentation/en-us/unreal-engine/overview-of-substrate-materials-in-unreal-engine
A flickering light can be done in other ways, you could either animate the intensity in Sequencer (that’s cumbersome though, because UE doesn’t have something like a random interpolation between two values like Blender has), or you can use a Blueprint and make it flicker with a random value tied to the tick event, or even a timeline. Sadly I don’t have time to look into it at the moment, but I’ll put it on my to do list and may make a video about it in the future.