Need advice on how you guys make bullet tracers for an FPS game. I have questions about niagara effects and problems of tracers flickering in high speeds.

Niagara does run on the CPU. You can run some aspects on the GPU though.

Overall you want to Pool your projectiles vs spawn and destroy for each shot. This will drastically increase performance when using projectile movement component, or any system that moves anything.

My system uses pooled projectiles. Each Proxy (Autonomous, Simulated, Authority) has it’s own Pool that’s managed by an actor component. All the code for firing them, resetting and disabling is coded there.

The projectiles themselves are vastly different per proxy. The Clients (Autonomous) have a sphere collision (root) and a mesh (no collision) for the visuals. The mesh uses an emissive material with no shadows. Works pretty good. Servers is just a collision, no fx. It only runs on the server and handles authoritative hits. Sims have a collision and an audio component. The audio component handles the whizz sound from near misses on the local autonomous.