Skip to content

Commit a7e4c05

Browse files
Merge pull request #8304 from Unity-Technologies/deprecate-ppv2package
[PPV2] Deprecating the package as Birp is being deprecated.
2 parents f9958b0 + 5647967 commit a7e4c05

20 files changed

Lines changed: 118 additions & 4 deletions

com.unity.postprocessing/CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,16 @@ All notable changes to this package will be documented in this file.
44
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
55
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
66

7+
## [3.6.0] - 2026-06-01
8+
9+
### Deprecated
10+
- **The entire `com.unity.postprocessing` package is now deprecated and no longer actively developed.**
11+
- For URP and HDRP projects, migrate to the integrated Volume-based post-processing system.
12+
- For Built-in Render Pipeline projects, consider migrating to URP.
13+
- See [Post-processing Overview](https://docs.unity3d.com/Manual/urp/upgrading-from-birp.html) for migration guidance.
14+
- Added `[Obsolete]` attributes to `PostProcessVolume`, `PostProcessLayer`, and `PostProcessProfile` classes.
15+
- Added startup dialog notification that appears once per Unity session, with optional "Don't ask again on this computer" checkbox for permanent dismissal.
16+
717
## [3.5.4] - 2026-03-13
818

919
### Fixed
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
using UnityEditor;
2+
using UnityEngine;
3+
4+
namespace UnityEngine.Rendering.PostProcessing
5+
{
6+
[InitializeOnLoad]
7+
internal static class DeprecationNotice
8+
{
9+
const string k_DialogOptOutKey = "PPv2.DeprecationNotice";
10+
const string k_SessionShownKey = "PPv2.DeprecationNotice.SessionShown";
11+
12+
static DeprecationNotice()
13+
{
14+
// Check if user has permanently opted out
15+
if (EditorPrefs.GetBool(k_DialogOptOutKey, false))
16+
return;
17+
18+
// Check if already shown this session
19+
if (SessionState.GetBool(k_SessionShownKey, false))
20+
return;
21+
22+
// Mark as shown for this session
23+
SessionState.SetBool(k_SessionShownKey, true);
24+
25+
// Use EditorApplication.update to show dialog after editor is fully initialized
26+
EditorApplication.update += ShowDeprecationDialog;
27+
}
28+
29+
static void ShowDeprecationDialog()
30+
{
31+
// Remove the callback so it only runs once
32+
EditorApplication.update -= ShowDeprecationDialog;
33+
34+
// Use Unity's built-in opt-out dialog with ForThisUser (permanent checkbox)
35+
// Clicking OK without checkbox = dismiss for this session only
36+
// Checking the checkbox = dismiss permanently
37+
EditorUtility.DisplayDialog(
38+
"Post Processing Stack v2 - Deprecated",
39+
"This package is deprecated and no longer actively developed.\n\n" +
40+
"For URP and HDRP projects, use the integrated post-processing via the Volume framework.\n\n" +
41+
"For Built-in Render Pipeline projects, consider migrating to URP.\n\n" +
42+
"See documentation for migration guidance:\n" +
43+
"https://docs.unity3d.com/Manual/urp/upgrading-from-birp.html",
44+
"OK",
45+
DialogOptOutDecisionType.ForThisUser,
46+
k_DialogOptOutKey);
47+
}
48+
}
49+
}

com.unity.postprocessing/PostProcessing/Editor/DeprecationNotice.cs.meta

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

com.unity.postprocessing/PostProcessing/Editor/EffectListEditor.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
using UnityEngine.Assertions;
66
using UnityEngine.Rendering.PostProcessing;
77

8+
#pragma warning disable CS0618 // Type or member is obsolete
9+
810
namespace UnityEditor.Rendering.PostProcessing
911
{
1012
/// <summary>
@@ -343,3 +345,5 @@ PostProcessEffectSettings CreateNewEffect(Type type)
343345
}
344346
}
345347
}
348+
349+
#pragma warning restore CS0618 // Type or member is obsolete

com.unity.postprocessing/PostProcessing/Editor/PostProcessDebugEditor.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
using UnityEngine;
22
using UnityEngine.Rendering.PostProcessing;
33

4+
#pragma warning disable CS0618 // Type or member is obsolete
5+
46
namespace UnityEditor.Rendering.PostProcessing
57
{
68
[CustomEditor(typeof(PostProcessDebug))]
@@ -142,3 +144,5 @@ void DoOverlayGUI(DebugOverlay overlay, params SerializedProperty[] settings)
142144
}
143145
}
144146
}
147+
148+
#pragma warning restore CS0618 // Type or member is obsolete

com.unity.postprocessing/PostProcessing/Editor/PostProcessLayerEditor.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
using UnityEditorInternal;
77
using System.IO;
88

9+
#pragma warning disable CS0618 // Type or member is obsolete
10+
911
namespace UnityEditor.Rendering.PostProcessing
1012
{
1113
using SerializedBundleRef = PostProcessLayer.SerializedBundleRef;
@@ -427,3 +429,5 @@ void ExportFrameToExr(ExportMode mode)
427429
}
428430
}
429431
}
432+
433+
#pragma warning restore CS0618 // Type or member is obsolete

com.unity.postprocessing/PostProcessing/Editor/PostProcessProfileEditor.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
using UnityEngine.Rendering.PostProcessing;
22

3+
#pragma warning disable CS0618 // Type or member is obsolete
4+
35
namespace UnityEditor.Rendering.PostProcessing
46
{
57
[CustomEditor(typeof(PostProcessProfile))]
@@ -27,3 +29,5 @@ public override void OnInspectorGUI()
2729
}
2830
}
2931
}
32+
33+
#pragma warning restore CS0618 // Type or member is obsolete

com.unity.postprocessing/PostProcessing/Editor/PostProcessVolumeEditor.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
using UnityEngine;
22
using UnityEngine.Rendering.PostProcessing;
33

4+
#pragma warning disable CS0618 // Type or member is obsolete
5+
46
namespace UnityEditor.Rendering.PostProcessing
57
{
68
[CanEditMultipleObjects, CustomEditor(typeof(PostProcessVolume))]
@@ -164,3 +166,5 @@ public PostProcessProfile profileRef
164166
}
165167
}
166168
}
169+
170+
#pragma warning restore CS0618 // Type or member is obsolete

com.unity.postprocessing/PostProcessing/Editor/Tools/ProfileFactory.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
using UnityEngine.SceneManagement;
55
using UnityEngine.Rendering.PostProcessing;
66

7+
#pragma warning disable CS0618 // Type or member is obsolete
8+
79
namespace UnityEditor.Rendering.PostProcessing
810
{
911
/// <summary>
@@ -96,3 +98,5 @@ public override void Action(int instanceId, string pathName, string resourceFile
9698
}
9799
#endif
98100
}
101+
102+
#pragma warning restore CS0618 // Type or member is obsolete

com.unity.postprocessing/PostProcessing/Editor/Tools/VolumeFactory.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
using UnityEngine;
22
using UnityEngine.Rendering.PostProcessing;
33

4+
#pragma warning disable CS0618 // Type or member is obsolete
5+
46
namespace UnityEditor.Rendering.PostProcessing
57
{
68
internal static class VolumeFactory
@@ -19,3 +21,5 @@ static void CreateVolume()
1921
}
2022
}
2123
}
24+
25+
#pragma warning restore CS0618 // Type or member is obsolete

0 commit comments

Comments
 (0)