The gaze provider has always been a bit of a weird curiosity in the toolkit. It's time to mature it into a proper controller that makes it more versatile and usable.
Proposed changes
Introduce controller type "GazeController" operated by a default "Gaze Controller Service Module" of the input service
The GazeController operates and behaves just as before but is treated as a proper controller by the input service that can easily be configued or disabled via the service module
Benefits
Follows proper architecture and design principles of the toolkit
Sets the foundation for special Gaze Controllers, such as an "Eye Tracking Gaze Controller"
Another thing to factor in this upgrade, is due to the GazeProvider currently causing a Null ref exception onDisable due to the Input Service being unregistered.
As a module, it would not have this issue.
Overview
The gaze provider has always been a bit of a weird curiosity in the toolkit. It's time to mature it into a proper controller that makes it more versatile and usable.
Proposed changes
Benefits