Volumes support for your own custom full screen post-processing effects in Unity 6 URP 17+.
Same as built-in fullscreen pass renderer feature but with volumes.
Use this package when you want to drive fullscreen materials from the Volume system (including blendable local/global volumes), without writing a custom renderer feature for every single effect.
Like built-in renderer feature, this package provides a single, generic renderer feature that can render any fullscreen material at the specified injection point, with the following volume-driven configuration:
- Supports Before Post Processing and After Post Processing injection points.
- Supports optional source color fetch (copy) for effects that need
_BlitTexture. - Supports URP input requirements (
Color,Depth,Normal,Motion). - Supports optional depth-stencil binding for stencil/depth-aware fullscreen materials.
- Supports priority-based ordering through Volume priority.
- Unity
6000.0.0f1or newer. - Universal Render Pipeline
17.0.0or newer.
This rendering feature uses RenderGraph API, so it requires URP 17+ and won't work in older versions.
- Open
Window > Package Manager. - Click
+. - Select
Add package from git URL.... - Use:
https://github.com/dgul3d/UnityURPFullScreenVolumePass.git?path=/Packages/com.gulievstudio.fullscreenvolumepass
- Download this repository.
- Copy
Packages/com.gulievstudio.fullscreenvolumepassinto your project (for example under a local packages folder). - Add it as a local package through Package Manager.
- In your URP Renderer asset, add FullScreenVolumePassRendererFeature.
- Create a fullscreen-compatible material (for example with Fullscreen Shader Graph target).
- Add a Global Volume (or local Volume) to your scene.
- Add override:
Post-processing/Custom fullscreen volume pass. - Configure:
Is EnabledRequirementsFetch Color BufferPass Material
- Is Enabled: turns the effect on/off.
- Intensity: value passed to material property
_Intensity. - Injection Point:
BeforePostProcessingAfterPostProcessing
- Requirements: requests URP textures the shader may need.
- Fetch Color Buffer: copies active color to
_BlitTexturesource path. - Bind Depth Stencil: binds active depth-stencil when drawing fullscreen pass.
- Pass Material: material used for rendering.
- Pass Index: pass index in the selected material.
- If multiple different volume sources share the same material instance, the package logs an error about material state coupling.
- As with any fullscreen effect, use backbuffer fetch only when necessary for best performance.
- Scene sample exists under
Samples/FullScreenVolumePass.unity. - You can find fullscreen shader graph examples in
Samples/Shaders. SG_Fullscreen_Distortion uses backbuffer fetch, while SG_FullscreenNoiseVignette and SG_FullscreenRadialNoiseVignette are just overlay effects with alpha blending.


