Creo que no fue explicado en este curso y tras investigar un poco, resulta que no es algo tan difícil de hacer.
Si bien aparentemente hay diferentes formas de hacerlo, me resultó demasiado sencilla esta forma que les compartiré:
publicvoidPauseGame(){
Time.timeScale = 0;
}
publicvoidResumeGame(){
Time.timeScale = 1;
}
public enumGameState
{
menu,
inGame,
pause,
gameOver
}
if (Input.GetKeyDown(KeyCode.Q) && currentGameState == GameState.inGame)
{
MenuManager.sharedInstance.PauseGame();
currentGameState = GameState.pause;
}
elseif (Input.GetKeyDown(KeyCode.Q) && currentGameState == GameState.pause)
{
MenuManager.sharedInstance.ResumeGame();
currentGameState = GameState.inGame;
}
Y listo 😄 ¿No es tan difícil verdad? Pueden profundizar más agregando un canvas a la pausa, e incluso experimentar funcionalidades para que el tiempo vaya más lento o sólo se mueva un objeto en el juego. Es muy interesante todo lo que se puede lograr con Unity