# Post-Processing In URP and HDRP, post-processing is not a stack of components on the camera. It is a **Volume** system: a **Volume Profile** holds **Volume Overrides** (Bloom, Tonemapping, Vignette, and the rest), and volumes in the scene or in project settings blend those overrides by camera position, weight and priority. This series is the Unity 6 look-development and gameplay-feedback path: a global grade, a local "in the cave" look, a scripted low-health pulse, an HDRP comparison, and why most of that stack is too expensive for **Quest 2**. **Target:** Unity **6000.5+**, URP. HDRP notes compare against [[HDRP Essentials]]. Quest cost targets **Unity 6.3 LTS (6000.3.27f2+)** ([[0.Choosing a Unity Version]], [[6. Quest Performance Budgets]]). > [!warning] Code not compiled > Scripts were checked against the Unity 6000.5 Volumes / effect-availability documentation and common URP `UnityEngine.Rendering.Universal` volume types. **They have not been compiled or run in Unity.** Inspector names for individual overrides can differ slightly by URP version; believe the Add Override list in your Editor. > [!note] Verification status > **Verified (6000.5 docs, 2026-11-10):** Default Volume at **Project Settings > Graphics > URP > Default Volume Profile**; quality-level volume on the URP asset; adding a volume via **GameObject > Volume** (including **Box Volume**); Volume Profile, Add Override, **Priority**, trigger **Box Collider** with **Is Trigger**; official effect-availability table (which effects exist in URP vs HDRP vs the legacy Post Processing Stack v2). Frame Debugger is the way to *see* the extra passes ([[4. Frame Debugger and GPU]]). > **Not verified:** every property name on every override in 6000.5; whether your URP build includes extras not in the table (for example a lens-flare override — only use it if it appears in Add Override); exact Quest "safe list" from Meta (Meta warns against heavy full-screen post; they do not publish a per-effect URP whitelist in the page we cite). > **Do not** add the legacy **Post Processing** package (`com.unity.postprocessing`, PPv2) to a URP or HDRP project to "get the stack back." URP and HDRP already have integrated volumes. ## Parts | # | Note | Covers | |---|---|---| | 1 | [[1. URP Volumes and Profiles]] | Default / quality / scene volumes, blend, priority, local Box Volumes | | 2 | [[2. URP Effect Catalog]] | Official availability, when to use each override, what lives on the camera instead | | 3 | [[3. Worked Example - Grade Damage and a Cave]] | A global look, a local cave volume, a low-health overlay volume | | 4 | [[4. Scripting Volume Overrides]] | `profile` vs `sharedProfile`, `TryGet`, runtime weight | | 5 | [[5. HDRP Comparison]] | What HDRP adds (exposure, SSR, fog, physical DoF) | | 6 | [[6. Quest Cost and Quality Tiers]] | Why most effects miss 13.9 ms, a conservative Quest list | | 7 | [[7. Post-Processing Pitfalls]] | Stacking, HDR, editing shared profiles, leftover PPv2 | ## Design lens (Level Up!) Camera is the second of Rogers' Three Cs (Level 6 in [[Level Up! (Review)]]). Post-processing is part of that language: a slight vignette can focus attention, a heavy vignette plus chromatic aberration on hit is *feedback* (Level 10 combat feel). It is also how a location gets a mood without a unique shader on every prop. None of it matters if the effect costs a missed frame on the hardware you teach toward ([[Cinemachine 3]] still owns camera *motion* and Impulse shake; volumes own the grade). ## Patterns used (Game Programming Patterns) - **Type Object** - the Volume Profile is data; many volumes can share one profile. - **Decorator / Stack** - overrides layer and blend; priority is the order you actually meant. - **State** - a "hurt" or "underwater" profile is a visual state, not a new camera. See [[Game Programming Patterns (Review)]]. ## Related (existing) - [[HDRP Essentials]], [[URP Shaders and Shader Graph]], [[Lighting and Baking]] - [[Cinemachine 3]] / [[4. Impulse Noise and Extensions]] - shake is Impulse, not a volume - [[4. Frame Debugger and GPU]], [[Profiling and Optimization]], [[6. Quest Performance Budgets]], [[5.Quest 2 Performance and Rendering]] - [[VFX Graph]], [[Particle Systems and Layered Effects]] - do not substitute a full-screen blur for a hit spark - [[Timeline Basics]] - a cutscene can swap profiles or animate volume weight ## Sources - Volumes in URP (6000.5): https://docs.unity.com/en-us/engine/6000.5/manual/post-processing-and-full-screen-effects/urp/volumes-landing-page - Set up a volume in URP: https://docs.unity.com/en-us/engine/6000.5/manual/post-processing-and-full-screen-effects/urp/volumes-landing-page/set-up-a-volume - Effect availability reference: https://docs.unity.com/en-us/engine/6000.5/manual/post-processing-and-full-screen-effects/effect-availability-reference - Render pipeline feature comparison: https://docs.unity.com/en-us/engine/6000.5/manual/render-pipelines/choose-a-render-pipeline/feature-comparison - Meta Quest performance: https://developers.meta.com/horizon/documentation/unity/unity-perf/