Rewinding Time using Blueprints?

Hi All,

Would it be possible to make a blueprint or blueprints that would allow the player to rewind time say, 10-15 seconds.? If so how would i go about doing that?..

Any help would be grateful.

Thanks!

I would recommend taking snapshots of all actor, mesh, etc vector and animation states at various intervals, say once a second. Also any variables that are relevant to the time reversal such as variables that drive time of day, player health, etc.

Then, to rewind time you get the snapshot and set all vectors and animation states accordingly.

It should be fairly simple to do jump back, but perhaps more difficult to do so in a smooth seamless manner, though should still be doable.

Obviously the more actors affected and the more states that those actors can be in, the more complicated and performance intensive that might get.

Look like you are trying to do something like Braid. Am I correct?

Maybe this video (and series) could help you too.

4.9 actually has something built in to do this. Worth looking into that, not sure if it will do everything the way you want it but it’s probably a good start. Don’t know if there is any documentation up about it yet though

Using a Command Pattern is a good idea for this. You end up with a stack of commands at runtime, and you can revert them (or add commands that undo their effects)