The mouse input can be theoretically speed up by using a callback-based input API. Because polling-based input API is going to be delayed from the actual input no matter what. Depending on the timing of the hardware, imagine at this moment the `Update` just passed but you are not yet at the rendering routine. If you were using callback-based input you would have 1 frame advantage and able to update the graphic in time. Unity have keep this callback data for the next frame. Unity's [New Input System](https://github.com/Unity-Technologies/InputSystem) is callback-based. But currently (9/9/2018) as far as I tried the callback does not occur at an arbitrary time but [queued up and batched together](https://forum.unity.com/threads/is-the-touch-screen-working-yet.544878/#post-3595679) and present the callback to you in the loop, before all `Update()`. There might be a way to ask the "queued up" data in the future when the API is being finalized, so I think it worths looking out for. Because I see some touch code I am assuming you might also want the solution to work with touch input. If you use [Native Touch](http://exceed7.com/native-touch/) you can receive the native touch callbacks as soon as the touch happen, which could be faster than waiting for `Update`. If you want the same input workflow as native app developement you might want to check it out.