Does adding 10 or more Actor components to an Actor cause performance issues?

I am trying to setup a system of effects, where each effect can have their own particle systems and play their own sounds, that will be reflected on the Character actor while the effect is active. I am having trouble identifying what i can do that will be most optimized, since potentially 10 or more effects may be active at one time (side note here, I am well aware of the graphical impact of a lot of particle systems, I am more worried about code optimization, since i am an inexperienced coder). Would actor component classes be a viable option or could that be too computationally expensive? Would basing it all in my character BP be a better option?

Get your thing working first, optimise later.

Does adding 10 or more Actor
components to an Actor cause
performance issues?

No. But 1000 ticking actors with 10 ticking components each will. In any case, the performance hit will not be coming from the component itself but from what you do inside.


Are you adding the components dynamically or each actor starts with 10 from the get go? The former would be preferable in most cases.

Effects will be added and removed dynamically. Thanks for the response.

As mentioned, no not really, but I feel like I must point out this isn’t necessarily the best way to go about doing this. You can simply attach actors to each other, or to a component on your actor without making it a component on the actor. This way the effect actor is cleaned up on its own and you’re not worrying about component issues. It also leads in to using things like Lifespan and other default actor behaviors that tend to be useful for dynamic effects. You can also consider using Spawn Emitter Attached that does this all in one specifically for particle emitters. I want to say this works for Niagra particles, but I can’t guarantee we used it in my last project / first time using Niagra.