Particle effect emitters with EventRecieve Spawn ignore if the Emitter is enabled

I was attempting to make a water drip/spash effect with an optional ripple effect. I got the drip effect built, and gave it an Event Generator for collision. I then added a splash effect emitter that used EventReceiver Spawn to fire off when the drop hit the floor. This all worked great. Then I added a third emitter that did a ripple effect, for use when the drip is landing in a puddle. My blueprint had a flag for if to use the ripple or not, and used that to drive Set Emitter Enable at Begin Play time. Unfortunately, this doesn’t work. It will always generate the spawns when it gets a collision event even if the emitter is enabled. Tracking this through the source code, the problem is that in:

bool UParticleModuleEventReceiverSpawn::ProcessParticleEvent(…)

it ignores if bHaltSpawning is true and just calls

Owner->ForceSpawn(DeltaTime, 0, Count, SpawnLocation, Velocity);

I think this means there’s no way to disable an emitter keep it from responding to events. I found this in our 4.11 project, but it looks like 4.13 has the same issue.

Thank you for submitting a bug report. I have reproduced this issue and logged a report for it here: Unreal Engine Issues and Bug Tracker (UE-38595)

You can track the report’s status as the issue is reviewed by our development staff. Please be aware that this issue may not be prioritized or fixed soon.

Cheers,

Ed Burgess