How to make a bullet hell game? | Game gets laggy with 200+ Bullets (meshes)

I’m making a simple 2D bullet hell type of game, but I’m facing some issues.

It gets really laggy when you have more than 200 bullets on the screen at once and I get small lagspikes while spawning my bullet patterns. My bullets are just simple spheres with custom collision to overlap the player and ignore everything else. I want to be able to have somewhere around 1000 bullets on the screen with stable 60 fps.

I tired to use object pooling with the blueprints from here and modifying them to spawn actors instead of meshes, but it really didn’t make much difference.

Is there a better way to create the bullets or is this engine just unsuitable for this type of game?
I really like this engine and I don’t want to switch to unity because of this.

Wouldn’t recommend giving up on UE4 because of one issue. Is there a reason you’re using bullet meshes instead of particles? If 2D, just use pooled sprites.

Off topic, I came from Unity and it has it’s own issues. UE4 seems much more reliable and consistent imo.

Are particles better than sprites? Also am I supposed to pool just the sprites and not make them actors? If I do that then how can I make them move and create patterns without projectile movement component?

use niagara particles, you could code custom behaviors, it will run MUCH better and you could add a collision event to detect when you hit a player

use niagara particles, you could code custom behaviors, it will run MUCH better and you could add a collision event to detect when you hit a player