I reported a bug back in July about a problem with HDR output. Basically after you turned HDR output on for your project you cannot turn it off anymore. When you request to turn if off it will obey for 1 frame and then immediately revert back to true again. In the mean time you can observe the screen flicker and then back to the original state.
I uploaded the example project and it was confirmed. And then 2 and half months later I got this response today saying that it is not an issue.
The response suggested that the problem is I’m using “Mouse.current.leftButton.isPressed” and suggests that changing it to “Mouse.current.leftButton.wasReleasedThisFrame” will resolve the problem.
I’ll attach the code so you can see what’s wrong with that statement
void Update()
{
if (HDROutputSettings.main.available) {
if (Mouse.current.leftButton.isPressed) {
if (!HDROutputSettings.main.HDRModeChangeRequested && HDROutputSettings.main.active) {
HDROutputSettings.main.RequestHDRModeChange(false);
}
}
Debug.Log("hdr " + HDROutputSettings.main.active + " " + HDROutputSettings.main.HDRModeChangeRequested);
}
}
Now the code here is just an example I put together quickly to demonstrate the problem, it does make sense to use wasReleasedThisFrame here but if you read further down the code you’ll see that this is actually irrelavant. Because the key part is “HDROutputSettings.main.RequestHDRModeChange(false);” which is setting the state to false. It is not toggling the state, so even if this triggers for every frame it still wouldn’t have caused the problem I observed. I did change it to use wasReleasedThisFrame instead and unsurprisingly the problem is exactly the same.
I think the guy who looked at the issue either didn’t have a HDR capable monitor to reproduce the issue properly, or they totally didn’t understand what the problem was. I’m not trying to blame anyone but this kind of response totally doesn’t meet any reasonable quality standard.
The reviewer who wrote the confirmation for this issue actually did a really great job since they actually understood what the problem was, tested it on multiple Unity versions and even listed Unity versions that have this issue and versions that don’t have the issue. If the guy who were assigned to resolve read their colleagues’ review they’ll know that the problem can’t be what they think it is.