# Unified Blur: a screen blur for Unity built on Render Graph

> Unified Blur is a Unity package that adds a screen blur to the Universal Render Pipeline through a custom render pass, exposing the blurred result as a global texture for materials to sample. It suits a Unity developer building a translucent interface, and it only works on URP, with the WebGL and quality level quirks spelled out in the troubleshooting notes.

**lukakldiashvili/Unified-Universal-Blur** — UI blur (translucent) effect for Unity.

- Repository: https://github.com/lukakldiashvili/Unified-Universal-Blur
- Stars: 986 · Forks: 88
- Language: C#
- License: MIT
- Published: 2026-10-20 · Updated: 2026-10-20 · Language: en
- Canonical page: https://hysenlabs.com/projects/lukakldiashvili-unified-universal-blur

## A render pass, not a blurred texture asset

Unified Blur is a screen blur effect for Unity, built on Render Graph with performance and compatibility in mind. The README describes it as a performant and flexible screen blur effect built using the new Render Graph API, and it says it supports both modern Unity 6 projects and some of the older versions through a legacy compatibility path.

How it works is described in a single paragraph, and it is the part that determines what you can do with it. Unified Blur inserts a custom render pass into the render graph, at a configurable injection point, which copies the back buffer and applies a blur effect to it. Once the pass completes, the blurred result is exposed as a global texture for downstream shaders to sample.

So this is a real post-process on the frame, not a pre-baked blur texture that you place behind a panel. That distinction is what makes the result look like frosted glass rather than like a stock image, and it is also why the effect has to be present in the renderer for the frame at all, which is the source of most of the troubleshooting entries.

The platform picture is stated in badges. URP is yes, HDRP is no, and BIRP, the Built-in Render Pipeline, is no. The compatibility badge says 2022.3 and up, and the tested badge lists Unity 2022.3.62, 6000.0.72, 6000.3.11, 6000.4.2 and 6000.6.0.

The project is MIT licensed, the primary language is C#, and the last push to the main branch was on 2026-05-17, with 0.9.0 published on 2026-05-14.

## Installation, and the package manifest that pins the pipeline

There are three ways to install it, and they differ in how much of the project you take on.

The Unity Package Manager route is to copy the git URL and add it through the package manager's Add package from git URL option, and for a specific version you visit the releases page. The Open UPM route is a link to the OpenUPM page for the package. The manual route is to download the zip, extract it and put its content anywhere in the project, preferably in the Plugins folder.

That last option is the interesting one for Unity packages, because a package installed that way is not managed by the package manager and will not be updated by it.

The package manifest explains the constraints. The name is com.unify.unified-universal-blur, the display name is Unified Blur, and the version is 0.9.0. The unity field is set to 2022.3, which is the minimum editor version the package declares, and the description says the package enables you to use a translucent blur effect on your canvas.

The single dependency is the pipeline itself, com.unity.render-pipelines.universal at 14.0.9, which is the Universal Render Pipeline package. That is the whole dependency list, and it is the clearest statement of what the package assumes about your project: it is a URP package, it compiles against a specific URP version, and there is no support for the other pipelines because there is no abstraction over them.

The repository layout matches the Unity package convention, with Editor/ for the editor-side code, Runtime/ for the runtime components, Materials/ and Shaders/ for the assets, and the .meta files that Unity requires for every asset in a package, including one for the package.json itself.

## Setup, and the renderer data asset that decides whether it works

The setup has three steps, and the first is the one that catches people.

You add the Unified Blur Render Feature to the renderer data asset used by your project. The path to it is Project Settings then Graphics, where the Scriptable Render Pipeline Settings field is your URP Asset, or alternatively Project Settings then Quality to read the URP Asset assigned to the currently active quality level. In the URP Asset inspector you look at the Renderer List, where each entry points at a renderer data asset such as PC_Renderer or Mobile_Renderer. You select the one you want to extend, scroll to the Renderer Features section and click Add Renderer Feature then Universal Blur Feature.

A project can have multiple renderer assets, one per platform or quality level, and the feature must be added to the renderer asset used by the active quality preset, otherwise the blur will not appear at runtime. If you target multiple platforms you add the feature to each renderer asset that needs the effect.

Then you assign the UniversalBlurUI material to any UI Image component that should display the blurred screen, and you adjust the settings in the Unified Blur Render Feature settings to get the effect you want.

The renderer data asset step is the fiddly one because the assignment chain is three links long. The quality level points at a URP Asset, the URP Asset points at a renderer data asset, and the feature has to be inside that renderer data asset. Missing any link in the chain gives you the same symptom, which is that the material renders but the blur is absent.

## Two ways to use the blurred result

The use cases section describes how you consume the effect, and the two options are worth comparing.

Option one is a UI Image component with the blur material, which displays a blurred version of the screen on that component. This is the direct route to a translucent panel and it is the one most projects need.

Option two is a custom shader that uses the global texture generated by the Unified Blur Render Feature, which the README frames as a way to create unique effects. Because the pass publishes the result as a global texture, anything in your own shader can sample it, which is the escape hatch for effects the shipped material does not cover.

The README also says Unified Blur works best with UI components that are part of the Screen Space - Overlay canvas, and that other canvas types are supported as well although with some limitations.

That preference is explained by how the pass works. The pass copies the back buffer at an injection point in the render graph, and a Screen Space - Overlay canvas is composited after the scene has been rendered, which is the point at which the blurred copy exists. Other canvas types render at different times in the frame, so the sampled texture may not correspond to the frame the UI is drawn in.

The limitations section names the specific case, limited support for world space or screen space camera canvases, and gives the workaround, changing the injection point in the Render Feature settings panel to BeforeRenderingTransparents. The warning attached to that is that transparent objects and other canvases will not be visible in that scenario, so it is a trade rather than a fix.

## The three troubleshooting cases, all version of the same mistake

The troubleshooting section reads as three variants of one problem, and it is worth reading together because the fix is the same in each case.

The first case is the blur material showing but with no blur effect. The checklist is to confirm the Universal Blur Feature is added to the renderer data asset used by the active quality level, by opening Project Settings then Quality, checking which URP Asset is assigned to the active level, and verifying the renderer asset it references is the one carrying the feature. The common pitfall, the README says, is adding the feature to a desktop renderer while the active quality level points at a mobile renderer, or the reverse.

The second check in that case is post-processing on the main camera. You select the camera and in the inspector under Rendering make sure Post Processing is checked, because without it the blur pass output may not reach the screen. And the third is about custom render targets, where a mismatched target format, no alpha or an unexpected colour space, can produce a transparent or blank result.

The second case is a WebGL build that shows no blur. WebGL builds typically fall back to the Mobile renderer data, not the desktop renderer, so if you only added the feature to the PC renderer the WebGL build will run without it. The fix is to open the URP Asset assigned to the WebGL or Mobile quality level, locate its renderer data asset and add the feature to that asset as well, then rebuild the WebGL player so the updated renderer asset is included.

The third case is the per-platform question, and the answer is yes. Each Quality Level can reference a different URP Asset, and each URP Asset can reference a different renderer data asset, so by adding the feature to multiple renderer assets you can tune the blur settings, intensity, downsample and iterations, independently per platform or quality preset.

## Conclusion

Adopt Unified Blur if your Unity project is on the Universal Render Pipeline and you want a translucent panel over the rendered scene, because the render pass approach gives you a real blurred back buffer rather than a fake frosted overlay. Do not adopt it on HDRP or the Built-in pipeline, since the badges state URP yes, HDRP no and BIRP no. Before you wire it up, add the render feature to every renderer data asset your quality levels use, including the mobile one that WebGL falls back to, or the effect will appear on one platform and not another.

## FAQ

### Which Unity render pipelines does Unified Blur support?

The Universal Render Pipeline only. The badges state URP yes, HDRP no and BIRP no, and the package manifest lists a single dependency, com.unity.render-pipelines.universal at 14.0.9. The package declares unity 2022.3 as its minimum editor version, and it was tested with Unity 2022.3.62, 6000.0.72, 6000.3.11, 6000.4.2 and 6000.6.0.

### How do I install Unified Blur in a Unity project?

Three ways. Add it through the Unity Package Manager with Add package from git URL and the repository git URL, use the OpenUPM page for the package, or download the zip, extract it and place the content in the project, preferably in the Plugins folder. For a specific version, use the releases page.

### How do I set up the Unified Blur render feature?

Find your URP Asset under Project Settings then Graphics, or under Project Settings then Quality for the active level, select the renderer data asset from its Renderer List, and in the inspector scroll to Renderer Features and click Add Renderer Feature then Universal Blur Feature. Then assign the UniversalBlurUI material to a UI Image component.

### Why does my Unified Blur effect show on desktop but not in a WebGL build?

WebGL builds typically fall back to the Mobile renderer data rather than the desktop renderer, so the feature has to be added to the renderer data asset used by the WebGL or Mobile quality level as well, and the WebGL player then rebuilt. The settings can also be tuned per platform, since each quality level can reference a different URP Asset and renderer data asset.

## Sources

- [Issues](https://github.com/lukakldiashvili/Unified-Universal-Blur/issues)
- [License: MIT](https://github.com/lukakldiashvili/Unified-Universal-Blur/blob/main/LICENSE)
- [lukakldiashvili/Unified-Universal-Blur on GitHub](https://github.com/lukakldiashvili/Unified-Universal-Blur)
- [README](https://github.com/lukakldiashvili/Unified-Universal-Blur/blob/main/README.md)
- [Releases](https://github.com/lukakldiashvili/Unified-Universal-Blur/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/lukakldiashvili-unified-universal-blur
