Hi!
I’m using Niagara Data CHannel to spawn shell casings from gunfire — the spawning itself works fine. At the shell collision location, I spawn sounds or effects, and that works too, but with some strange behaviour
The problem is that when a particle is spawned, it immediately sends collision data at the zero coordinate and triggers the code, even though not all conditions are met. For example, Particle Age should be> 0.5s
When the particle actually hits a surface, it sends the correct collision data, but right after that it also sends collision data for the zero coordinate, even though I can clearly see that the collision did not happen there
—————
I added FX at the collision location to demonstrate this issue
It might be related to [
Keep Previous Frame Data] or some other NDC settings, but I’ve tried every possible combination. The shell either wouldn’t spawn at all, would spawn only once, or would spawn continuously but wouldn’t send collision data
—————
Here is my NDC
—————
Here is Niagara
The NDC spawn and reader work as expected — the data is being sent and the particles spawn correctly. I set them up following Epic’s tutorial, so I’m not sure if it’s worth showing that part here. The problem starts when I try to pass particle collision data to Blueprint
—————
This is how I built NDC writer module
I’m writing data to pass into Blueprint and doing several checks to avoid sending everything all the time. For some reason, these checks don’t work on the very first frame when the particle is spawned
—————
This is how I read data from NDC in weapon blueprint
When the shells hit something, s/vfx is triggered. This is currently done via Event Tick for testing purposes





