Pause:
Time.timeScale = 0f;
pausePanel.SetActive(true);
Cursor.lockState =
CursorLockMode.None;
Cursor.visible = true;
Resume:
Time.timeScale = 1f;
pausePanel.SetActive(false);
Cursor.lockState =
CursorLockMode.Locked;
Cursor.visible = false;
You can also switch between Player and UI Action Maps.