Unity Replay System


Project demonstrating how to use input logging to create a replay system, where the replay is viewed by replaying the inputs with a deterministic fixed timestep.

Tanks battling in play mode Tanks battling in replay mode

Video demonstration here

Game runs on a fixed timestep to ensure that it plays out deterministically regardless of framerate. Inputs are polled during the Update loop and then “flattened” into a single input structure to be queried during the next FixedUpdate.

These inputs are cached by the ReplayLogger class, which in turn are played back by the ReplayInputController after the game has completed.

VHS effect is from this repository.