Projetile: Event Destroyed not executing the whole Loop

I’ve made a projectile that works like a Firework, it launches a sequence of projectiles with an interval between each spawn. I set the lifespan of the main projectile (the one that will launch the others) to the time I want the launching sequence start. When it reaches the lifespan time, it calls the Event Destroyed. Inside the event destroyed, I’ve sorted a Name array with the sockets Name to, after, spawn every projectile in a ForLoop from each socket.

The problem is that I can’t make the whole loop execute, it only spawns a certain amount of projectiles, like 3, before the object disappear from the game (Maybe it calls the Destroy Actor).

Here’s a video(The quality is not that good) of the projectile working. It is working when I set the lifespan of the main projectile to zero and call the function to spawn the projectiles from the Level.

Does anyone know if there’s a limit of time after the Event Destroyed is called before it destroy the actor and if I can change it? Maybe it is the way I can make it work.
If anyone have a suggestion, I’d be grateful.

There are two time related variables in the particle system. I’m not at my pc so unfortunately I can’t tell you exactly what they are called. One is on the particle component and from memory there’s one that controls the whole system. Maybe the one you havnt set is kicking in to early.

If no one else has provided a better answer by the time I get home I’ll get some better details for you.


right ok, so had a quick look. By default there’s a ‘Lifetime’ component on the emitter. Also on the emitter if you click on the ‘Required’ component then look at the details tab, there’s a ‘Duration’ section in there aswell.

The problem is that it does not run the logic until the end, the main projectile disappears in the middle of the SpawningLoop. Even if I set the Number of projectiles to spawn to 10, it will only spawn 3 projectiles and will stop executing the rest of the logic.

The BP’s:

In this part, I sort an array of Name type adding the Sockets’ Name that the other grenades will spawn.
Mx: x = Number of the socket; M= the middle line
Ux: x = Number of the socket; U= the upper line
Dx: x = Number of the socket; D= the lower line

After that, it gets the Name type array and spawn, in another Loop using Gate (Because While and ForLoop does not accept Delay inside the scope), every other projectile.

The Spawn Mini-Grenades function is called to spawn effectively the projectiles:

So, I’m still suspecting that after the Actor lifetime reaches the lifespan time, it’ll run the Event Destroyed logic, but even after calling the event it has some limited time before it gets interrupted in the midst of the logic and destroyed…