Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions com.unity.postprocessing/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,16 @@ 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).

## [4.0.0] - 2026-06-01

### Deprecated
- **The entire `com.unity.postprocessing` package is now deprecated and no longer actively developed.**
- For URP and HDRP projects, migrate to the integrated Volume-based post-processing system.
- For Built-in Render Pipeline projects, consider migrating to URP.
- See [Post-processing Overview](https://docs.unity3d.com/Manual/PostProcessingOverview.html) for migration guidance.
- Added `[Obsolete]` attributes to `PostProcessVolume`, `PostProcessLayer`, and `PostProcessProfile` classes.
- Added startup dialog notification that appears once per Unity session, with optional "Don't ask again on this computer" checkbox for permanent dismissal.

## [3.5.4] - 2026-03-13

### Fixed
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
using UnityEditor;
using UnityEngine;

namespace UnityEngine.Rendering.PostProcessing
{
[InitializeOnLoad]
internal static class DeprecationNotice
{
const string k_DialogOptOutKey = "PPv2.DeprecationNotice";
const string k_SessionShownKey = "PPv2.DeprecationNotice.SessionShown";

static DeprecationNotice()
{
// Check if user has permanently opted out
if (EditorPrefs.GetBool(k_DialogOptOutKey, false))
return;

// Check if already shown this session
if (SessionState.GetBool(k_SessionShownKey, false))
return;

// Mark as shown for this session
SessionState.SetBool(k_SessionShownKey, true);

// Use EditorApplication.update to show dialog after editor is fully initialized
EditorApplication.update += ShowDeprecationDialog;
}

static void ShowDeprecationDialog()
{
// Remove the callback so it only runs once
EditorApplication.update -= ShowDeprecationDialog;

// Use Unity's built-in opt-out dialog with ForThisUser (permanent checkbox)
// Clicking OK without checkbox = dismiss for this session only
// Checking the checkbox = dismiss permanently
EditorUtility.DisplayDialog(
"Post Processing Stack v2 - Deprecated",
"This package is deprecated and no longer actively developed.\n\n" +
"For URP and HDRP projects, use the integrated post-processing via the Volume framework.\n\n" +
"For Built-in Render Pipeline projects, consider migrating to URP.\n\n" +
"See documentation for migration guidance:\n" +
"https://docs.unity3d.com/Manual/PostProcessingOverview.html",
"OK",
DialogOptOutDecisionType.ForThisUser,
k_DialogOptOutKey);
}
}
}

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
using UnityEngine.Assertions;
using UnityEngine.Rendering.PostProcessing;

#pragma warning disable CS0618 // Type or member is obsolete

namespace UnityEditor.Rendering.PostProcessing
{
/// <summary>
Expand Down Expand Up @@ -343,3 +345,5 @@ PostProcessEffectSettings CreateNewEffect(Type type)
}
}
}

#pragma warning restore CS0618 // Type or member is obsolete
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
using UnityEngine;
using UnityEngine.Rendering.PostProcessing;

#pragma warning disable CS0618 // Type or member is obsolete

namespace UnityEditor.Rendering.PostProcessing
{
[CustomEditor(typeof(PostProcessDebug))]
Expand Down Expand Up @@ -142,3 +144,5 @@ void DoOverlayGUI(DebugOverlay overlay, params SerializedProperty[] settings)
}
}
}

#pragma warning restore CS0618 // Type or member is obsolete
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
using UnityEditorInternal;
using System.IO;

#pragma warning disable CS0618 // Type or member is obsolete

namespace UnityEditor.Rendering.PostProcessing
{
using SerializedBundleRef = PostProcessLayer.SerializedBundleRef;
Expand Down Expand Up @@ -427,3 +429,5 @@ void ExportFrameToExr(ExportMode mode)
}
}
}

#pragma warning restore CS0618 // Type or member is obsolete
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
using UnityEngine.Rendering.PostProcessing;

#pragma warning disable CS0618 // Type or member is obsolete

namespace UnityEditor.Rendering.PostProcessing
{
[CustomEditor(typeof(PostProcessProfile))]
Expand Down Expand Up @@ -27,3 +29,5 @@ public override void OnInspectorGUI()
}
}
}

#pragma warning restore CS0618 // Type or member is obsolete
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
using UnityEngine;
using UnityEngine.Rendering.PostProcessing;

#pragma warning disable CS0618 // Type or member is obsolete

namespace UnityEditor.Rendering.PostProcessing
{
[CanEditMultipleObjects, CustomEditor(typeof(PostProcessVolume))]
Expand Down Expand Up @@ -164,3 +166,5 @@ public PostProcessProfile profileRef
}
}
}

#pragma warning restore CS0618 // Type or member is obsolete
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
using UnityEngine.SceneManagement;
using UnityEngine.Rendering.PostProcessing;

#pragma warning disable CS0618 // Type or member is obsolete

namespace UnityEditor.Rendering.PostProcessing
{
/// <summary>
Expand Down Expand Up @@ -96,3 +98,5 @@ public override void Action(int instanceId, string pathName, string resourceFile
}
#endif
}

#pragma warning restore CS0618 // Type or member is obsolete
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
using UnityEngine;
using UnityEngine.Rendering.PostProcessing;

#pragma warning disable CS0618 // Type or member is obsolete

namespace UnityEditor.Rendering.PostProcessing
{
internal static class VolumeFactory
Expand All @@ -19,3 +21,5 @@ static void CreateVolume()
}
}
}

#pragma warning restore CS0618 // Type or member is obsolete
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
#pragma warning disable CS0618 // Type or member is obsolete

namespace UnityEngine.Rendering.PostProcessing
{
/// <summary>
Expand Down Expand Up @@ -158,3 +160,5 @@ void DrawMonitor(ref Rect rect, Monitor monitor, bool enabled)
}
}
}

#pragma warning restore CS0618 // Type or member is obsolete
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
#pragma warning disable CS0618 // Type or member is obsolete

namespace UnityEngine.Rendering.PostProcessing
{
/// <summary>
Expand Down Expand Up @@ -76,3 +78,5 @@ internal override void SetSettings(PostProcessEffectSettings settings)
}
}
}

#pragma warning restore CS0618 // Type or member is obsolete
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ namespace UnityEngine.Rendering.PostProcessing
[DisallowMultipleComponent, ImageEffectAllowedInSceneView]
[AddComponentMenu("Rendering/Post-process Layer", 1000)]
[RequireComponent(typeof(Camera))]
[System.Obsolete("Post Processing Stack v2 is deprecated. Use URP or HDRP's Volume-based post-processing instead.", false)]
public sealed class PostProcessLayer : MonoBehaviour
{
/// <summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
using System.Linq;
using UnityEngine.Assertions;

#pragma warning disable CS0618 // Type or member is obsolete

namespace UnityEngine.Rendering.PostProcessing
{
/// <summary>
Expand Down Expand Up @@ -460,3 +462,5 @@ static bool IsVolumeRenderedByCamera(PostProcessVolume volume, Camera camera)
}
}
}

#pragma warning restore CS0618 // Type or member is obsolete
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ namespace UnityEngine.Rendering.PostProcessing
/// An asset holding a set of post-processing settings to use with a <see cref="PostProcessVolume"/>.
/// </summary>
/// <seealso cref="PostProcessVolume"/>
[System.Obsolete("Post Processing Stack v2 is deprecated. Use URP or HDRP's Volume-based post-processing instead.", false)]
public sealed class PostProcessProfile : ScriptableObject
{
/// <summary>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
using System.Collections.Generic;

#pragma warning disable CS0618 // Type or member is obsolete

namespace UnityEngine.Rendering.PostProcessing
{
#if (ENABLE_VR_MODULE && ENABLE_VR)
Expand Down Expand Up @@ -434,3 +436,5 @@ public void UpdateSinglePassStereoState(bool isTAAEnabled, bool isAOEnabled, boo
}
}
}

#pragma warning restore CS0618 // Type or member is obsolete
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ namespace UnityEngine.Rendering.PostProcessing
[ExecuteInEditMode]
#endif
[AddComponentMenu("Rendering/Post-process Volume", 1001)]
[System.Obsolete("Post Processing Stack v2 is deprecated. Use URP or HDRP's Volume-based post-processing instead.", false)]
public sealed class PostProcessVolume : MonoBehaviour
{
/// <summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
using UnityEngine.Assemblies;
#endif

#pragma warning disable CS0618 // Type or member is obsolete

namespace UnityEngine.Rendering.PostProcessing
{
using SceneManagement;
Expand Down Expand Up @@ -1330,3 +1332,5 @@ public static string GetFieldPath<TType, TValue>(Expression<Func<TType, TValue>>
#endregion
}
}

#pragma warning restore CS0618 // Type or member is obsolete
5 changes: 3 additions & 2 deletions com.unity.postprocessing/package.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
{
"name": "com.unity.postprocessing",
"version": "3.5.4",
"version": "4.0.0",
"displayName": "Post Processing",
"unity": "2019.4",
"unityRelease": "19f1",
"description": "The post-processing stack (v2) comes with a collection of effects and image filters you can apply to your cameras to improve the visuals of your games.",
"deprecated": "Post Processing Stack v2 is deprecated and no longer actively developed. For URP and HDRP projects, use the integrated post-processing via the Volume framework. For Built-in Render Pipeline projects, consider migrating to URP. See https://docs.unity3d.com/Manual/PostProcessingOverview.html for migration guidance.",
"description": "[DEPRECATED] The post-processing stack (v2) comes with a collection of effects and image filters you can apply to your cameras to improve the visuals of your games. This package is deprecated - use URP/HDRP Volume-based post-processing instead.",
"dependencies": {
"com.unity.modules.physics": "1.0.0",
"com.unity.modules.imgui": "1.0.0"
Expand Down