After development, its also useful for the end-user to share his play experience to other people, or to allow other people to study other player's tactics.
So I saw this:
This only records input so far. Feeding those recorded input back to the game is another matter. Its also not possible to feed those data back into Unity's input system as far as I know. So I can't make Input.GetAxis() return the recorded input data.
Instead I would have to make my own system, like, say, RecordedInput.GetAxis(), RecordedInput.GetButton(), and so on. Feeding that data to the GUI system is also another matter.