Search Issue Tracker
By Design
Votes
8
Found in
2022.3.63f1
6000.0.51f1
6000.1.9f1
6000.2.0b7
6000.3.0a1
Issue ID
UUM-109947
Regression
No
Mouse input is registered incorrectly in Custom RP when downscaling Render Target and rendering Overlay UI before final upscale
Reproduction steps:
1. Open the attached “IN-101012.zip” project
2. Open the “SampleScene”
3. Open the Game view tab
4. Change the Game view resolution to 1280x720
5. Enter Play mode
6. Hover over the red Canvas button elements
7. Observe the color of the buttons
Expected result: The buttons instantly turn green once hovered over
Actual result: The mouse input is not correctly registered; therefore, the hovering is not reflected correctly
Reproducible with: 2022.3.63f1, 6000.0.51f1, 6000.1.9f1, 6000.2.0b7, 6000.3.0a1
Reproducible on: Windows 11
Not reproducible on: No other environment tested
Notes:
- Render Scale slider and a RenderUIBeforeUpscale toggle can be found on the “Custom RP Settings.asset”, which demonstrate the bug
- This issue was fixed/avoided in the URP (UUM-36231), however, the issue is still present in Custom RP
- Relevant code is in CameraRenderer.cs
- More important context can be seen in the Comments
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- A memory leak occurs with massive terrain when camera position changes occur.
- No valid hits are returned when using RaycastCommand
- Camera is not overlooking the main Scene in Scene View in the HDRP Sample Template
- TextShadow properties are not applied when displayed in a custom MenuItem Window
- Memory leak occurs when focused on Player while using Direct3D12
Resolution Note:
This behavior is expected when rendering UI before the final upscale with a downscaled render target. uGUI processes input in the resolution of the render texture it is drawn into, so input coordinates won’t automatically match the full screen resolution in this setup.
If you’d like input to map to the full screen, you can implement a custom input that inherits from BaseInput and override its mouse properties to apply your render scale factor. That custom input can then be assigned to the event system through BaseInputModule.inputOverride.