Lightning particle effect: branching from lead beam

So I’m attempting to create a Lightning particle effect for a project, but I’m having trouble finding a good solution for how to have smaller beams branch off and go a certain distance from the lead beam.

A lot of the solutions I’ve seen on here run through materials to get that effect, but I’m not looking to make highly realistic atmospheric lightning (This particle effect is for a Wizard casting a lightning spell at a target, and the aesthetics are very cartoony, so the material solution wouldn’t really match the look well). I just want a few additional beams to branch off from the main one and create the characteristic tree effect that you typically see in lightning.

So, my question is how I should go about solving this. My thought right now is to figure out if it’s possible to have emitters use the lead beam as a source (or use the noise points of the beam as a source) and then take the tangent the lead beam has at the specific points to determine the direction the other emitter moves, and then putting in an arbitrary value for the target endpoint until it looks nice.

Is this possible or practical? If not, then does anyone have any other suggestions? Would I have to mess with create a blueprint sequence for the particle system? Or is setting up a material for the lightning effects really my only choice?

Older versions of Unreal (UT2K4 I think) had branching built into the beam particle system effect. Unfortunately branching isn’t implemented yet for UE4 – at least according to the Beam data type documentation here:

Creating Visual Effects in Niagara for Unreal Engine | Unreal Engine 5.3 Documentation

You could implement it yourself by creating your own particle system component or coding in the beam behaviour. You also could try doing it with blueprints (e.g. [WIP] Procedural lightning - Showcase - Epic Developer Community Forums)

Alternatively you could try for a different effect using the beam data type as currently implemented, e.g.

https://docs.unrealengine.com/latest/images/Engine/Rendering/ParticleSystems/Reference/TypeData/Beam/psys_beam.gif

I would probably try not using noise for it, but rather generating your lightning using L systems or something like that. The same way they generate trees. It’s not like you’ll have a lot all at once so it might work to do that.

Thanks for the response. Has Epic stated when they plan on implementing the branching data type yet? If not then I might have to start experimenting with a DIY solution like you suggested.

Thanks for the suggestion. I’m looking into L Systems now, looks quite interesting.