Unity 6 · URP 17+ · RenderGraph

Real-time blur
for Unity UI

Six background blur algorithms for frosted glass panels, world-space surfaces, and dynamic glass effects — built natively on the URP RenderGraph API.

Get on Asset Store → Documentation

Blur methods

Six algorithms, one system

DualKawase
Dual Kawase
Down/up mip pyramid — widest blur radius at the lowest cost. The go-to for frosted-glass UI panels.
CustomKawase
Custom Kawase
Circular ring blur with 3–12 tunable taps. CPU-precomputed directions — zero trig per pixel.
PoissonDisk
Poisson Disk
Cinematic bokeh look via Poisson disk sampling. Eliminates grid patterns even at heavy downsample rates.
GaussianSeparable
Gaussian Separable
Mathematically exact Gaussian circle in two separable passes. Visually perfect at moderate radii.
TentHex
Tent / Hex
Three box-blur passes at 0°/60°/120° producing a hexagonal lens bokeh. Best for cinematic moments.
Radial
Radial
Single-pass circular blur with per-pixel IGN rotation. Round bokeh feel — ideal for impact effects and cutscenes.

What's included

Everything you need, nothing you don't

Multiple simultaneous presets

Run Overlay, Camera, and World Space blur at the same time — each on its own RTHandle, fully isolated.

Native RenderGraph API

Built on URP 17+ RenderGraph from the ground up — no legacy command buffers, no camera stacking hacks.

Frosted glass shaders

Two ready-made shaders: UI_Blur_Universal for Canvas panels and WorldObject for 3D glass meshes with true IOR refraction.

Resolution-independent scaling

Blur radius scales automatically with screen width — looks the same at 1080p and 4K without manual tweaking.

Setup Wizard

One-click installation across all URP Renderer assets in your project. Working blur in under a minute.

Runtime API

Toggle presets, fade intensity, and read parameters at runtime. Smooth blur transitions without one-frame pop-in.


Runtime API

Control blur from code

PauseMenuController.cs
// Smooth fade on pause
void Update()
{
    float target = _paused ? 1f : 0f;
    float current = Blur.GetIntensity(CanvasSpaceType.OverlayBeforePostProcessing);
    Blur.SetIntensity(
        CanvasSpaceType.OverlayBeforePostProcessing,
        Mathf.MoveTowards(current, target, Time.deltaTime * 3f));
}

// React to preset state changes
void OnEnable()  => Blur.OnPresetActiveChanged += OnBlurChanged;
void OnDisable() => Blur.OnPresetActiveChanged -= OnBlurChanged;

void OnBlurChanged(BlurPreset preset)
    => Debug.Log($"{preset.name} → {preset.isActive}");

Requirements

Tested on

RequirementMinimumNotes
Unity version 6000.0 (Unity 6) Tested on 6000.0 (LTS), 6000.3 (LTS), 6000.4 (LTS)
Render pipeline URP 17.0.0 Requires RenderGraph mode
Platforms All URP-supported platforms PC, Mobile, Console
Get started

Ready to ship your UI?

Available on the Unity Asset Store. Drop in, run the Setup Wizard, and have blur working in your project within a minute.

Get on Asset Store → Read the docs