Any basic ways to optimize projectile actors rendering wise to reduce performance load?

Glad that worked out. Like @BananableOffense suggested it’s likely due more to the fact that all of the actors are simulating physics vice just being alive. I would suggest you start looking into instanced static meshes. From what I can see you have the perfect case for it as all of the cannon balls fired are following the same trajectory just with an offset based on the cannon they were fired from.

In a nutshell, instanced static meshes allow you to create a single blueprint with multiple instances of your object…in your case the cannon balls. At that point you can spawn a single actor, with physics being simulated on just that actor, and all of your cannon ball instances go along for the ride. You’ll of course need to add the logic at runtime to spawn the actor with how ever many cannon balls you need and then just offset their transform to be in the position you want. Sounds like a fun puzzle to solve. Below is a good example of this. He creates an astroid belt with 35000 astroids and manages to maintain 120 fps :astonished:. All of this of course assumes that you don’t really need to simulate physics on every actor, which is what it looks like from the video. Good luck!!