I have a project that will be very heavy on Niagara effects that I will need to spawn on the fly. Players will be able to use various abilities at their choice so I don’t think I will be able to use soft references, because I need them to activate immediately when the ability is used. Right now, what is happening is when I open my project and attempt to use one of the abilities it doesn’t appear unless I put a copy of it in the world first. I plan to have hundreds of abilities and effects, so this doesn’t seem like a smart way to solve this problem. Yes, Auto-Activate is on before you ask. I am using Object References which seems to be taking up quite a bit of memory. What is the recommended way to handle something like this, or is there one? I haven’t tried soft references yet, but from what I understand I’d have to async load them for them to be ready when needed. Is that the only way?
Hey there @Dark_Glitch! Welcome to the community! You’re already on the right path understanding that lots of direct hard references will destroy your memory profile rather quickly. With lots of references. It’s often best to use soft references, only load what is about to be used, object pooling for any shared effects, and pre-cache what you can when you can.
Here’s a couple resources on managing performance with Niagara particles, but the subject does go much deeper: