How can I make time-playback in UE4 best way?

I need to make a time-reverse system like in Prince of Persia or TimeShift in UE4. My plan - use curves data storing for transform of objects, and simple reverse animations and particles. But, I think, it can be more elegant way. Something like using new system of replay writing. Does It use scene parameters or just video recording? Or may be there is something like time scaling. Please, help me to find the best way!