How can i pause and rewind game objects?

So I’ve been looking for a way to pause and rewind my game which was not as hard as i thought. But i am looking for a way to pause time, more like freeze a game object as long as a player is holding down a button and also rewind and let it continue to play.

well for pausing a Game its as easy as

//To Freeze Game
private void FreezeGame()
{
      Time.timeScale = 0;
}

// and to unfreeze Game 
private void UnFreezeGame()
{
      Time.timeScale = 1;
}

just call the Functions when you need to freeze the Game.

For Rewinding the Game follow this video!!