- Home /
Losing cursor in build, works OK in Play Mode
I am going through the usual n00by struggles, trying to get a grip on Unity. I have created a very tiny 3d fps game, one scene plus a simple user menu. Within Unity I can:
- enter Play Mode, see scene 0 (menu screen)
- click on Start button, switch to scene 1 (3d game scene)
- play game in Play Mode, walk around, etc
- press ESC to return to menu (scene 0)
- click on Quit button to quit to 3d Editor Mode
All of this works perfectly and I'm pretty chuffed. Now I do a Build (to Mac/OSX) and run the resulting .app -- and this is what happens:
- on startup, get correct menu screen (scene 0) and mouse cursor
- press Start button, enter game
- play game, walk around, etc
- press ESC, return to menu screen
- OOPS -- no cursor. I can't exit the game! I have to kill it from the OS.
I thought that Play Mode should accurately reflect what would happen in the build. What have I done wrong? My cursor-preserving code on exiting play mode is
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class EscapeToMenu : MonoBehaviour {
public void LoadByIndex(int sceneIndex)
{
SceneManager.LoadScene(sceneIndex);
}
void Update()
{
if (Input.GetKey(KeyCode.Escape))
{
LoadByIndex(0);
Cursor.visible = true;
}
}
}
For all I know this is a very stupid way to do this, but I'm very new (been using Unity about 2 days now). On ESC I load Scene 0, the menu screen, and then I tell the cursor to be visible (it becomes invisible in Play Mode). I've clearly missed an important step -- the build is not working the same as the Play Mode, Scene 0 is losing its cursor after 3d activity in Scene 1 -- can someone please unconfuse me?
[UPDATE] Finally I found the answer, after much googling and headbanging. I needed one more line of code in my Update function:
Screen.lockCursor = false;
This is the secret! The cursor is now usable after exiting to the menu screen.
Your answer
Follow this Question
Related Questions
Distribute terrain in zones 3 Answers
Different behaviour playmode/build, graphics disappear 0 Answers
Rest of project ignoring script 0 Answers
What is the best way of resuming game scene after the menu scene? 0 Answers
SetCursor WebGL doesn't work 1 Answer