diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index b05c56433b9..e915469dbaa 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -31,6 +31,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed issue with white flash when enabling SSR. - Fixed issue with depth pyramid generation and dynamic resolution. - Fixed an issue where opening the look dev window with the light theme would make the window blink and eventually crash unity. +- Fixed a serialization issue, preventing quality level parameters to undo/redo and update scene view on change. ### Changed - Changed extensions of shader CAS include files. diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/ScalableSettingLevelParameterEditor.cs b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/ScalableSettingLevelParameterEditor.cs index a41b0d596e9..de006eccc07 100644 --- a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/ScalableSettingLevelParameterEditor.cs +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/ScalableSettingLevelParameterEditor.cs @@ -22,13 +22,14 @@ public override bool OnGUI(SerializedDataParameter parameter, GUIContent title) rect.y += 2; rect.width -= 3; - o.levelAndOverride = SerializedScalableSettingValueUI.LevelFieldGUI( + var levelAndOverride = SerializedScalableSettingValueUI.LevelFieldGUI( rect, title, ScalableSettingSchema.GetSchemaOrNull(ScalableSettingSchemaId.With3Levels), level, useOverride ); + value.intValue = ScalableSettingLevelParameter.GetScalableSettingLevelParameterValue(levelAndOverride.level, levelAndOverride.useOverride); return true; } } diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/GlobalPostProcessingQualitySettings.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/GlobalPostProcessingQualitySettings.cs index 5bee02315d9..f77d6923019 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/GlobalPostProcessingQualitySettings.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/GlobalPostProcessingQualitySettings.cs @@ -33,6 +33,11 @@ public ScalableSettingLevelParameter(int level, bool useOverride, bool overrideS } + internal static int GetScalableSettingLevelParameterValue(int level, bool useOverride) + { + return useOverride ? LevelCount : (int)level; + } + /// /// Level and Override. /// @@ -42,7 +47,7 @@ public ScalableSettingLevelParameter(int level, bool useOverride, bool overrideS set { var (level, useOverride) = value; - this.value = useOverride ? LevelCount : (int)level; + this.value = GetScalableSettingLevelParameterValue(level, useOverride); } } }