Search Issue Tracker
By Design
By Design in 2023.1.X
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
- Localization Group Rules bypasses Locale logic when SharedGroup asset provided
- UI Toolkit World UI Text Field unfocuses immediately when clicking on it using XR Controller
- Crash on CallWindowProcW when entering Play mode for the second time and running the Editor in the background while using System.Windows.Forms functions
- 2D Freeform Light shadows disappear when light center is offset from shape bounds
- Crash on MarkAllDependencies when opening scenes with Assets from the YarnSpinner package
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.
Resolution Note (2023.1.X):
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.