Basically when generating bullets you add the current actor transform or wherever the bullet is shooting from transform to an array. Then in the Tick for your BP you loop that array then perform a trace between where the bullet started and where it should then be to handle your collision behavior. The math for finding the new location is in the blog under “Moving the bullets” section. If the bullet hit something remove it from the array. If it didn’t hit anything then update the array with its new location (the end point of your trace).
This is basically a continuation of my below topic.
Honestly I’m still not all that impressed. A staff member said my original Niagara implementation is bad performance, but honestly it was the best performance of all 3 things I’ve tried. I’ve tried Niagara, Object Pooling, and now this usage. Niagara still performed better.