Un menú de pausa normalmente muestra un panel y detiene o limita el gameplay.

Pausar

Time.timeScale = 0f;
panelPausa.SetActive(true);

Reanudar

Time.timeScale = 1f;
panelPausa.SetActive(false);

Cursor

En gameplay:

Cursor.lockState = CursorLockMode.Locked;
Cursor.visible = false;

En pausa:

Cursor.lockState = CursorLockMode.None;
Cursor.visible = true;

Input Maps

Al pausar:

playerInput.SwitchCurrentActionMap("UI");

Al continuar:

playerInput.SwitchCurrentActionMap("Player");

Tiempo no escalado