5.0.2 beta
I found a new library Microsoft has for low-latency thread-safe device input that doesn't clog the event queue with thousands of events. This is exactly what we need to support gaming mice with the lowest possible latency. However, there are two downsides to it:
When this is implemented, C++ projects will require the GameInput nuget package be added to them.
The feature is not guaranteed to be installed on all versions of Windows. There's a redistributable you can include in your installer, but we have seen from experience users will not install it, or the install will occasionally fail, or they will disable the feature, etc.
Still, the Microsoft GameInput library is the ONLY way to do what we want. Therefore we will roll this out gradually.
The new project template includes the GameInput nuget package by default, but existing projects do not yet require this to compile.
Window::GetMouseAxis is removed from the API, to be replaced in the future with another command.
The experimental Camera::SetMouseLook feature is removed, to be implemented in the future using GameInput.
The only stock script that was using Window::GetMouseAxis was the CameraControls script. That code has been updated to do away with the calls to GetMouseAxis.
The idea here is to make it so new C++ projects by default will be compatible with future GameInput support, but I don't think this feature justifies the introduction of incompatibility with existing C++ projects yet.
If you want to add the package to your project, just select the Tools > NuGet Package Manager > Manage Nuget Packages for Solution... menu item, search for "GameInput" and apply to the project. YOU DO NOT NEED TO DO THIS.
Even when this feature is completed, you will still need to check to see if the feature is installed on the user's computer, so if you want to support high-DPI gaming mice, you will still need a fallback mode in case the feature is not supported on the user's machine. For now I strongly recommend just relying on standard mouse input (Window::GetMousePosition).