How to simulate Niagara system at a particular age? Trying to get a time rewind effect working

Hello All! So I was trying to create a time rewind mechanic similar to the one in prince of persia games where holding down a button will rewind upto 8 seconds of time. There is a really cool plugin for Unity called ‘Chronos’ which does exactly that but nothing for UE yet that I know of. So far I got the physics part working. Now I am trying to get the particle systems to play in reverse.

Things I have tried so far:
First thing that needed to be done was to set the ‘determinism’ to true in the niagara system.

I tried to use the ‘advance simulation by time’ node but it only takes positive values and ignores the negatives.

I see there is a node called ‘seek to desired age’ which sounds like it might get the job done but I wasn’t able to figure out how to use it so far. when I call it, it doesn’t appear to do anything.

Does anyone has any ideas on how to go about it?

2 Likes

I am having the same problem and I can’t seem to find any good resources on how these nodes work.

You can’t go back in a Niagara sim. You’d have to restart the simulation and then resimulate everything up to the point where you want to go, which can be REALLY slow for some systems. Even with determinism enabled it’s not possible to get the same result when the sim depends on external factors like render targets or collisions.

If you really need to be able to rewind a certain simulation, the best way to do it would be to write out the particle value for each frame and then use a data interface or custom renderer to display past data.