- Home /
Input.mousePosition only detects motion outside of window if I move really slow.
If I add this code to Update()
Debug.Log(Input.mousePosition);
I can see Mouse Positions in my debug log update nicely when my mouse cursor is over my game display.
If I very slowly move my mouse outside of the game view (say by moving the mouse at less than 1/2 an inch per second), then Input.mousePosition updates nicely, and still gives me valid information when the cursor is outside of the window.
If I move the mouse cursor outside of my game view at a normal mouse speed, then Input.mousePosition stops telling me where the mouse cursor actually is, and instead returns where it last was the last time it was over the game window.
I need to know the actual mouse position when the mouse is outside of the game viewport (so that I can detect if I am inside the viewport or not), and this behaviour is preventing that.
What is the proper reliable way to get the mouse position regardless of where the mouse cursor is? Perhaps this odd behaviour of Input.mouseposition is a bug?
Some more information: This behavior is running under WIndows 10. If I run the exact same script in $$anonymous$$ac OS X, then it behaves like I would expect it should, where mouse movements outside of the windows do update and refresh, regardless of mouse movement speed.
Answer by xamomax · Aug 02, 2016 at 12:02 PM
For the benefit of others: This turned out to be a bug in Unity that was fixed in a beta as of a few days ago.
It is worth also noting that the correct behavior of Input.mouseposition is that it does not return updates when the mouse is outside of the window for stand-alone applications, but it will return values outside of the window when in the Unity editor itself (kind of weird imho, but that is how it is, I guess).
Your answer
Follow this Question
Related Questions
Mouse moves over GUI 1 Answer
Input.mousePosition incorrect on second monitor 0 Answers
How do I use controller knob input like mouse position? (New Input System) 1 Answer
Help In Making a SphereCast for 3D Tire! Working RayCast Script included! 0 Answers
How do I rotate an object using Vector2 inputs? (New Input System) 1 Answer