Niagara issues and help

Probably a very simple question, but how would I make a particle-triggered event in Niagara readable in Blueprint? I have a few particles that are supposed to damage the player when hit so I need to feed the collision event from Niagara to Blueprint, but I can’t seem to find anything on the matter. There’s a lot out there on how to send data from BP to Niagara, but there does not seem to be much on the other way around.

1 Like

There might be a way, but usually one wouldn’t use particles to drive game-play like that, which is probably why you can’t find anything on it.
Why don’t you just use physics collisions or raycasts to proximate the amount of damage the player would receive?

1 Like

The effect is basically a meteor shower, several (15-30) meshes with some other particles around them hitting the ground causing damage in a small area around them and spawning some impact particles. This can of course be done in BP, but I figured it would be cleaner to do it in Niagara (instead of spawning several meshes and Niagara particle systems via BP). Mind you I don’t intend to run much collision logic via Niagara, just reading the hit event from the particle impacting the ground would be enough, I will then sphere trace around that point in BP to see if anything is inside of the damage radius.

I understand it’s not exactly conventional use, but Niagara does seem to include quite a lot of options for determinism, so I think some attention was paid to particle-driven gameplay effects. Even if BP does turn out to be the way to go for this specific case, I’m still interested in knowing if/how it’s possible to get data from Niagara to BP, I feel like it would be something with a lot of use cases.

1 Like

In case anyone else stumbles upon this with my same question, I seem to have kind of found an answer in one of the Epic livestreams: https://youtu.be/PKFKeoZY7Hc?t=5198
In short, assuming the situation is still the same, it is not supported yet but it is heavily considered in some capacity (in a slightly different way with performance in mind, as he explains). So if you are in my same position, either cross your fingers and wait until you can have particles throw out a bool on impact to BP, or just do it normally (which is what I’ll be doing then).

1 Like

Hey all! Kinda just starting out in Niagara and I’ve run into an issue with the Skeletal Mesh parameter that I can’t seem to find a fix for.

Capture

In some videos, I’ve seen this error (attached image) ad once they select the mannequin it disappears… No luck for me, unfortunately, is this a bug in 4.24 or am I doing something wrong?

1 Like

Looks like a bug.

Have you tried a full re-compile of the effect? Sometimes the engine doesn’t realize that an error is no longer valid.


Things like this are bound to happen though. Niagara is still very much in development, so you might find some things like this here and there.

1 Like

Thanks for the quick reply! Yeah I imagine these things do happen just wanted to know if it was a thing or not, I’ll give this a try and get back to you.

1 Like

No luck with the full re-compile it seems.

1 Like

You could always have a look in the module and see if you see any programming errors in there.

Except for that, I don’t really have any other ideas.

1 Like

The modules pretty basic (see image above), don’t think there are any errors but I could be wrong.

1 Like

Ah, not this one, I meant the variable set one.

1 Like

Hello,

next issue: In cascade U can randomize things like count of particles in a burst or randomize emitter lifetime. When U do the same in niagara it is possible and it is working - but… using random int in spawn burst module is resulting in an error… that recompile that fx each time U start gameplay or cook. Is there a way to do this without problems?

1 Like

Make a uniform float, round it and cast to int?

1 Like

that is not the point. Problem is that: randomization or even changing any parameter in emitter ( like user.spawncount ) update is giving U a warning.

1 Like

Could you elaborate on how this happened? Do you have to burst module in the parent emitter, or just inside of the system?

1 Like

Oh, ok so any dynamically generated value will trigger that error. That definitely doesn’t feel intentional.


A potential workaround is to use a short loop duration [0.1] with high spawn rates instead of burst.

It’s not very elegant, but at least you won’t have the warning constantly.

1 Like

You’ll find if you try to use generate location event in the latest version of unreal, you get this anoying non-descriptive error.

The fix is to turn on require persistent Id’s in the emitter settings module.

niagaraError

niagaraError2

1 Like

Hello again. In case of particles with infinite life, some times U want to not only change some variable on this but also trigger some event. ( for example GUI - select fx under the character) I came up with idea to reset system every time I want to trigger some process. U have to manually kill older particles ( this is nuts) and then treat ur effect as state machine. If there is a way to call an event on particle on BP or better way to do this ?

1 Like

I don’t believe blueprint driven events are a thing just yet.

1 Like

Hey guys, possibly stupid question but I can’t find it answered anywhere. Does anyone know how to set infinite lifetime in Niagara? Anytime I set the lifetime to 0 the emitter just doesn’t spawn anything

1 Like