One of my current projects, needed the ability to record player input, then play it back on an object. This is something I’ve had to do several times already. In Muckraker it was how you could ‘film’ something. Rather than record all the changing variables on an object/character (position, rotation, whether they are firing…) you can in most cases just record what the player does. When you play back this input, the object will do the same things and act the same way. (keep in mind that external inputs, like physics, can make the object drift off course after a while, but this can usually be minimised). Even so, keeping track of inputs and playing stuff back without ‘live’ input getting in the way can be a headache.