If you spawn any emitter using this node, the effect will last 60 seconds or less. This is true of any particle system I tried with varying lifetimes, loop numbers, and spawning parameters. It always was killed at 60 seconds on the dot.
I know it is not an issue with my emitter itself because when spawned as a particle system component, it is not destroyed until I destroy it - the intended behaviour.
4.7.2 is my engine version
Hey Jared -
Thank you for your report, but unfortunately we are unable to reproduce this internally, I have attached a sample project with several different emitter/blueprint setups, open the project and let me know if you get different results than those listed in the project.
Test Project
Eric Ketchum
It’s the strangest thing. I migrated my particle system to the test project you sent me and didn’t experience the disappearance, but it happens every single time in my other project. I don’t have anything in the scene that works on a timer or even references these spawned particles (so it wouldn’t know to destroy them!) so I don’t understand why it’s happening.
Hey Jared -
Are you spawning through the level blueprint or a placed actor blueprint. If it’s in an actor blueprint are you perhaps culling or causing that blueprint to be removed before or at the 60 seconds.
Thank You
Eric Ketchum
Very interesting. I have been spawning this from the Game Mode blueprint. Spawning from the Level blueprint does not make the thing disappear.
So now there are two other questions:
- Why are emitters spawned at location tied to other actors? Should they not be standalone actors with their own culling logic?
- What about the Game Mode (which is not changed at any point) causes this kind of culling? Is it Garbage Collection at work?
I see now that the garbage collector is probably the culprit. If I create an array of particle systems and add each of them as I create them, they’re never deleted because they have a persistent reference.
-
Emitters Spawned at a location are not in and of themselves tied to a specific actor, unless they are spawned with in an actor blueprint (not the level blueprint). In that particular case, the particle system is a component of that blueprint.
-
Yes it was entirely garbage collection that removes the system. The Gamemode blueprint only exists to define the game type,
Even the most open-ended game has an underpinning of rules, and these rules make up a gametype. On the most basic level, these rules include:
The number of players and spectators present, as well as the maximum number of players and spectators allowed.
How players enter the game, which can include spawn locations and spawn/respawn behavior.
Whether or not the game can be paused, and how pausing the game is handled.
Transitions between levels, including whether or not the game should start in cinematic mode.
Spawning a particle in the Gamemode would be seen eventually by the garbage collection of the engine as wasteful and removed.
Thank You
Eric Ketchum
Thanks for the clarification Eric, I’m glad to better understand how spawning particle systems works now. My Game Mode was being used to spawn the particle systems as a means of setting the scene. Making them components of persistent actors works out for what I need. Great info!