I’m having a problem where the cursor only locks itself once on the screen. I’m using visible along side it too but I stopped that but it still won’t lock itself.
Here’s my code :
public class StartUp : MonoBehaviour {
public GameObject player;
public bool cursorUnlocked = false;
public float CursorLockUnlockWait = 0.5f;
public float CursorWaitOver;
void Start () {
//Instantiate player In random place on terrain////////////////////////////////////////
Vector3 position = new Vector3(Random.Range(0f, 4000f), 700f, Random.Range(0f, 4000f));
Instantiate(player, position, transform.rotation);
Cursor.visible = false;
Cursor.lockState = CursorLockMode.Locked;
////////////////////////////////////////////////////////////////////////////////////////
}
void Update()
{
//Cursor Lock/Unlock//////////////////////////////////////////////////////////////////////////
if (Input.GetKey("escape") && cursorUnlocked == false && CursorWaitOver < Time.time)
{
cursorUnlocked = true;
CursorWaitOver = Time.time + CursorLockUnlockWait;
Cursor.visible = true;
Cursor.lockState = CursorLockMode.None;
}
if (Input.GetKeyDown("escape") && cursorUnlocked == true && CursorWaitOver < Time.time)
{
cursorUnlocked = false;
CursorWaitOver = Time.time + CursorLockUnlockWait;
Cursor.visible = false;
Cursor.lockState = CursorLockMode.Locked;
}
/////////////////////////////////////////////////////////////////////////////////////////////
}
}
The wait is necessary because other wise it will transition between unlocked and then locked in a blink of an eye!
Anyway hope you guys can find a solution to this and thanks for the help!