Search Issue Tracker
By Design
Votes
1
Found in
2021.3.11f1
2022.1.20f1
2022.2.0b10
2023.1.0a13
Issue ID
UUM-16381
Regression
No
Selected Quality Settings get reset when restarting the project
How to reproduce:
- Open the attached project "VRFearProject.zip"
- Open Edit>Project Settings...>Quality
- Set Quality level to "PCVR"
- Quit the Editor
- Repeat steps 1-2
Expected results: Quality level is set to "PCVR"
Actual results: Quality level is set to "Quest"
Reproducible with: 2021.3.11f1, 2022.1.20f1, 2022.2.0b10, 2023.1.0a13
Could not test with: 2020.3.40f1 (compilation errors in the Console window)
Reproducible on: Windows 10
Comments (1)
-
DevDunk
Oct 07, 2022 10:06
Seems high priority
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
- Unity CIL Linker fails on Player build when persistent listeners have "<" and ">" in their XML attribute names
- ”Lighting data asset ‘LightingData’ is incompatible with the current Unity version…” warnings are thrown when saving Indoors (URP) and Outdoors (URP) Scenes as Scene Templates
- [iOS] The screen blinks when transitioning from custom to Unity splash screen
- [macOS] ”Ignoring depth surface load action as it is memoryless” warnings are thrown when taking Game View Snapshot
- UI Builder Inspector scrolls back up when changes on an expanded but not fully displayed Inspector tab are saved
Resolution Note:
PXR_SDKSettingEditor.cs in included "PICO Unity Integration SDK v211" package :
-----
[InitializeOnLoad]
public class PXR_SDKQualitySetting
{
[InitializeOnLoadMethod]
static void UnitySDKQualitySettings()
{
PlayerSettings.defaultInterfaceOrientation = UIOrientation.LandscapeLeft;
SetAntiAliasingLevel(4);
}
static void SetAntiAliasingLevel(int level)
{
int currentLevel = QualitySettings.GetQualityLevel();
for (int i = currentLevel; i >= 1; i--)
{
QualitySettings.DecreaseLevel(true);
QualitySettings.antiAliasing = level;
}
QualitySettings.SetQualityLevel(currentLevel, true);
for (int i = currentLevel; i < 10; i++)
{
QualitySettings.IncreaseLevel(true);
QualitySettings.antiAliasing = level;
}
// FIX : QualitySettings.SetQualityLevel(currentLevel, true);
}
}
-----
This code is executed on project load and domain reload (script recompilation), and iterates back & forth on the quality levels to force the anti-aliasing value, but does not reset to the initial quality level, remaining on the last one of the list, which is "Quest" in this project.
Adding "QualitySettings.SetQualityLevel(currentLevel, true);" after line 663 (see comment in above code) will restore the initial quality level.