Kill beam emitter after 1 tick

Hello, I’m making laser designation for a cannon. Here’s how it looks.

In a nutshell, on every Tick I get an array of vectors from Predict Projectile Path and spawn beam emitters between them. Here’s my overcomplicated and probably irrelevant blueprint.

The problem: beams live too long. They only get destroyed after one second.

How can I disable them after every tick? In my particle config, Lifetime, Emitter Duration and Emitter Loops are 1 (lesser values don’t seem to work), Auto Deactivate and Kill on Deactivate are enabled.

Any help is appreciated, I can post configs and even redo the function if you tell me a better way.

In the Beam Data of your emitter you can set the always on checkbox to true then you can set the lifetime to whatever you want, including exposing it as a float parameter if you want to set it to delta time.

I exposed lifetime like this:

Setting it to any value between 0 and 1, both in BP and Cascade, sets it to 1 second, so the issue remains.

Posting a crappy workaround for future reference. There is probably an easier way, by configuring the particle system, but no one would tell me.

Make a new variable. Set type to Particle System Component → Object Reference, make it an Array.

238364-1.png

During your emitter-spawning loop, insert emitters into your new Array using indexes from the loop.

Before the loop, get the array, destroy all components in it and clear it.

Posting a crappy workaround for future reference. There is probably an easier way, by configuring the particle system, but no one would tell me.

Make a new variable. Set type to Particle System Component → Object Reference, make it an Array.

238364-1.png

During your emitter-spawning loop, insert emitters into your new Array using indexes from the loop.

Before the loop, get the array, destroy all components in it and clear it.

But did you set the AlwaysOn checkbox in the Beam Data? Because it definitely works if that is set.

Although the issue is solved, I did a rollback and tested that (again).
The result in a video.
TL;DW checking the box makes the beam (Laser2) disappear slightly faster than an identical beam (Laser1), but not instantly as intended.

EDIT: in the vid, lifetime is set to 1, but as said before, setting it to lesser values doesn’t change anything.