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
- Texture Import Warnings are obscured by other Terrain Layer options in the Inspector
- Burst Inspector middle divider is jittering when resized with the Burst Inspector window docked
- JsonConvert conversion fails trying to call GetCallbackMethodsForType when [OnDeserialized] is used in a class
- Different text alignment in the column header in Entities "System" window
- Objects with Universal Render Pipeline/Particles/Lit shader are always lit up when changing their Rendering Layer Mask
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.