diff --git a/.yamato/_postprocessing_publish.yml b/.yamato/_postprocessing_publish.yml index 7aedc813274..36cadf6ec67 100644 --- a/.yamato/_postprocessing_publish.yml +++ b/.yamato/_postprocessing_publish.yml @@ -9,9 +9,9 @@ test_editors: - 2021.3 - 2022.3 - 6000.0 - - 6000.2 - 6000.3 - 6000.4 + - 6000.5 - trunk test_platforms: - name: win diff --git a/TestProjects/PostProcessing_Tests/Assets/CommonAssets/Scripts/PostProcessingGraphicsTests.cs b/TestProjects/PostProcessing_Tests/Assets/CommonAssets/Scripts/PostProcessingGraphicsTests.cs index 805d07a3311..50e70f0dc64 100644 --- a/TestProjects/PostProcessing_Tests/Assets/CommonAssets/Scripts/PostProcessingGraphicsTests.cs +++ b/TestProjects/PostProcessing_Tests/Assets/CommonAssets/Scripts/PostProcessingGraphicsTests.cs @@ -20,7 +20,7 @@ public IEnumerator Run(GraphicsTestCase testCase) var camera = GameObject.FindGameObjectWithTag("MainCamera").GetComponent(); #if UNITY_2020_3_OR_NEWER - var settings = Object.FindFirstObjectByType(); + var settings = Object.FindAnyObjectByType(); #else var settings = Object.FindObjectOfType(); #endif diff --git a/com.unity.postprocessing/CHANGELOG.md b/com.unity.postprocessing/CHANGELOG.md index 15877086b2a..0b7b0388bd5 100644 --- a/com.unity.postprocessing/CHANGELOG.md +++ b/com.unity.postprocessing/CHANGELOG.md @@ -4,6 +4,12 @@ All notable changes to this package will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## [3.5.4] - 2026-03-13 + +### Fixed +- Fixed serialization hierarchy errors +- Documentation updates + ## [3.5.3] - 2026-02-19 ### Fixed diff --git a/com.unity.postprocessing/PostProcessing/Editor/BaseEditor.cs b/com.unity.postprocessing/PostProcessing/Editor/BaseEditor.cs index 51ecfdcd1cc..f7265b4cac3 100644 --- a/com.unity.postprocessing/PostProcessing/Editor/BaseEditor.cs +++ b/com.unity.postprocessing/PostProcessing/Editor/BaseEditor.cs @@ -46,11 +46,12 @@ protected T m_Target } /// - /// + /// Find a serialized property using an expression instead of a string. This is safer as it + /// helps avoiding typos and make code refactoring easier. /// - /// - /// - /// + /// The serialized value type + /// The expression to parse to reach the property + /// A or null if none was found protected SerializedProperty FindProperty(Expression> expr) { return serializedObject.FindProperty(RuntimeUtilities.GetFieldPath(expr)); diff --git a/com.unity.postprocessing/PostProcessing/Editor/PostProcessEffectEditor.cs b/com.unity.postprocessing/PostProcessing/Editor/PostProcessEffectEditor.cs index f948cf6f135..5b8915b6716 100644 --- a/com.unity.postprocessing/PostProcessing/Editor/PostProcessEffectEditor.cs +++ b/com.unity.postprocessing/PostProcessing/Editor/PostProcessEffectEditor.cs @@ -40,7 +40,7 @@ public class PostProcessEffectEditor : PostProcessEffectBaseEditor /// /// /// If you're trying to retrieve a , you should - /// use instead. + /// use instead. /// /// /// diff --git a/com.unity.postprocessing/PostProcessing/Runtime/Monitors/Monitor.cs b/com.unity.postprocessing/PostProcessing/Runtime/Monitors/Monitor.cs index 7cae9b7a396..c98c968ef37 100644 --- a/com.unity.postprocessing/PostProcessing/Runtime/Monitors/Monitor.cs +++ b/com.unity.postprocessing/PostProcessing/Runtime/Monitors/Monitor.cs @@ -1,3 +1,5 @@ +using System; + namespace UnityEngine.Rendering.PostProcessing { /// @@ -29,6 +31,7 @@ public enum MonitorType /// /// The base class for all debug monitors. /// + [Serializable] public abstract class Monitor { /// diff --git a/com.unity.postprocessing/PostProcessing/Runtime/ParameterOverride.cs b/com.unity.postprocessing/PostProcessing/Runtime/ParameterOverride.cs index 6a3558acc51..2091cda518f 100644 --- a/com.unity.postprocessing/PostProcessing/Runtime/ParameterOverride.cs +++ b/com.unity.postprocessing/PostProcessing/Runtime/ParameterOverride.cs @@ -6,6 +6,7 @@ namespace UnityEngine.Rendering.PostProcessing /// The base abstract class for all parameter override types. /// /// + [Serializable] public abstract class ParameterOverride { /// @@ -65,7 +66,7 @@ protected internal virtual void OnDisable() /// own by extending this class. /// /// - /// This sample code shows how to make a custom parameter holding a float. + /// This sample code shows how to make a custom parameter holding a float. /// /// [Serializable] /// public sealed class FloatParameter : ParameterOverride<float> @@ -143,7 +144,7 @@ public virtual void Interp(T from, T to, float t) /// Sets the value for this parameter to and mark the override state /// to true. /// - /// + /// New value public void Override(T x) { overrideState = true; @@ -174,7 +175,7 @@ public override int GetHash() /// Implicit conversion between and its value type. /// /// The parameter to implicitly cast - /// A value of type . + /// A value of given type. public static implicit operator T(ParameterOverride prop) { return prop.value; diff --git a/com.unity.postprocessing/PostProcessing/Runtime/PostProcessLayer.cs b/com.unity.postprocessing/PostProcessing/Runtime/PostProcessLayer.cs index 509dd5b7fc6..b2ed5fd63c8 100644 --- a/com.unity.postprocessing/PostProcessing/Runtime/PostProcessLayer.cs +++ b/com.unity.postprocessing/PostProcessing/Runtime/PostProcessLayer.cs @@ -157,6 +157,7 @@ public sealed class SerializedBundleRef /// /// A reference to the bundle itself. /// + [NonSerialized] public PostProcessBundle bundle; // Not serialized, is set/reset when deserialization kicks in } @@ -739,7 +740,7 @@ void OnPostRender() /// Grabs the bundle for the given effect type. /// /// An effect type. - /// The bundle for the effect of type + /// The bundle for the effect of the given type. public PostProcessBundle GetBundle() where T : PostProcessEffectSettings { @@ -750,7 +751,7 @@ public PostProcessBundle GetBundle() /// Grabs the bundle for the given effect type. /// /// An effect type. - /// The bundle for the effect of type + /// The bundle for the effect of the given type. public PostProcessBundle GetBundle(Type settingsType) { Assert.IsTrue(m_Bundles.ContainsKey(settingsType), "Invalid type"); diff --git a/com.unity.postprocessing/PostProcessing/Runtime/PostProcessManager.cs b/com.unity.postprocessing/PostProcessing/Runtime/PostProcessManager.cs index f6b5a01cf59..0a942fd00d3 100644 --- a/com.unity.postprocessing/PostProcessing/Runtime/PostProcessManager.cs +++ b/com.unity.postprocessing/PostProcessing/Runtime/PostProcessManager.cs @@ -212,7 +212,7 @@ public PostProcessVolume GetHighestPriorityVolume(LayerMask mask) /// The unity layer to put the volume in /// The priority to set this volume to /// A list of effects to put in this volume - /// + /// A newly created GameObject called "Quick Volume" that contains a global volume. public PostProcessVolume QuickVolume(int layer, float priority, params PostProcessEffectSettings[] settings) { var gameObject = new GameObject() diff --git a/com.unity.postprocessing/package.json b/com.unity.postprocessing/package.json index bfeeb7b79ee..f5d7e607d4b 100644 --- a/com.unity.postprocessing/package.json +++ b/com.unity.postprocessing/package.json @@ -1,6 +1,6 @@ { "name": "com.unity.postprocessing", - "version": "3.5.3", + "version": "3.5.4", "displayName": "Post Processing", "unity": "2019.4", "unityRelease": "19f1",