Particle collision not working in-game

4.8.3 - still not fixed. It’s irrelevant if we spawn the particle system through BPs, C++ or put them directly in the level. In PIE everything works fine, without the editor or in a packaged build no collisions are detected whatsoever.

Hello -

Particle Collision is working as intended now. If you are still seeing issues with you Particle Collision then chances are you need to adjust the Max Collision Distance in the Performance Subsection of the Collision Module.

This setting is in the Collision Module for Mesh and Sprite type emitters and its default value is only 1000 units for performance reasons as collision is quite expensive for particles. You can adjust that value upwards as is necessary for your project and particle system.

To clear up any confusion about this I setup an example project for everyone to have a look. It is a 4.8.3 project.

Thank You

Eric Ketchum

[Test_Project 4.8.3][2]

1 Like

I’m trying to get the “OnParticleCollide” Event to fire. I have downloaded your testproject and made an Blueprint of the SpriteEmitter, but the OnParticleCollide Event won’t fire.

@aWinter

I quickly checked this and Particle Collision Events are working as far as I can tell.

I did this with OnParticleCollide (Emitter Name) in a BP and the Event Generators module in the particle system was working as intended as well.

Since this original questions answer was provided and resolved, please post any additional questions about other issues with particle systems as a separate question.

Thank you!

Man, this took me forever to find the answer to. Thanks. Maybe pop it in the wiki?

Particle Emitters spawned during Runtime using C++ produce particles that don’t fire collision events.

I’ve encountered this issue in C++ while using multiple emitters to make a ‘bouncing laser’ effect for my character’s gun.

The funny thing is that I’m using the same exact code for the gun’s emitter (which fires the initial shot) and the runtime-spawned emitters that fire the ‘bounce’ shots.

Particles from the gun’s emitter fire collision events whereas the ones from the runtime spawned ‘bounce’ emitters don’t.

SOLVED:
I didn’t put a UFunction() macro above the declaration of the function called by the collision event’s delegate. Stupid me. Long story short, always put your macros, brush your teeth and eat your vegetables.

1 Like

This was very useful! In 4.13.1, which is my project’s version, the C++ collision delegate only triggers if I’m executing in Standalone mode. Indeed nothing happens inside UE4’s runtime, regardless of “UFUNCTION” macro, which is mandatory.

I am using 4.14 and this is not working. No matter how I configure this “Performance” section, it never become equal to the editor when I play or simulate. I don’t even understand completely what “Max Collision Distance” means… relative to what? To the emitter? To the camera? But even with big values, or small values, or turning off “Collide Only If Visible”, the behavior is never the same.

It would not be more simple (and logical) if the behavior of the editor was equal to the behavior while playing or simulate?

1 Like

same problem with 4.14
I put CPU particle emitter actor into the scene. Collision works perfectly when previewing in editor, but when I start a game - collision stops working.

I had this issue when I was in the editor window the collisions were working but when I was in-game (Playing In Editor) the particles stopped working.

I’m using the 4.10.1 version you have to Uncheck or Untick in your Particle System> Collision Module > Performance both “Drop Detail” and “Collide Only If Visible”

Then check if it’s working playing in editor.

what about you FPS?

If your fps<=35 when start the game,collision will stop working.

1 Like

Hi there, Using 4.15.1 now and still not working.

Wether “Collision distance” does affect anything, nor “drop detail” or “Collide only if visible” does.

In Editor Preview the Mesh particles collide fine, they get killed everytime they collide, as soon as i press play, all the mesh particles walk through my meshes.

I have checked so many things the hole day, nothing does do anything. The Particle Collision when pressing play is broke i think.

FPS Question: I´ve got 284 FPS in my scene, so i think it is not the “under 35 fps thingy thing”

Same issue here!! What gives?!?! I’ve tried changing object types to make sure collisions weren’t being triggered at the wrong time. Tried unticking all the performance settings - no good.

It’s spooky because in the viewport, everything behaves 100% correctly. As soon as you hit play though, it doesn’t work correctly. In my case, it seems like the collisions are condensed into a tiny area at the bottom of the screen (arbitrary location). I’m making a simple rain particle system which i believe is a common use case for this.

4.15

I had a similar problem: “KILL HEIGHT” node would kill particles and at their death-positions new particles should be created. It worked in Cascade but not in the game-world.

The problem was "USE LOCAL SPACE!"

The emitter with Event-Generator had “use local space” set but the emitter with Event-Receiver did not. It works for me by setting both emitters to “use local space” on or off.

Yup, having exactly the same problem here as well on 4.18.

Not sure if fully related, but I just noticed this issue in 4.18.3. I think it was initially working and then some how stopped working, maybe after messing with “Hide Actors in game”. I was using the standard “P_Sparks” in the “Particle Intro” Level from “Content Examples”.

Anyways, In the Particle Details window, under Performance, I had to both uncheck “Drop Detail” and turn up the “Max Collision Distance”

1 Like

This works like a treat in 4.18.2
thanks majik_12 for the info

problem now solved Mesh Particles now colliding

thank you been looking at the screen for an hour