Render Blur - Fastest UI Blur with Specialized Features

They asked me "Make a choice between performance or quality". I decided to choose both.


| NEW PRICE LIVE: Now, more accessible than ever!


FEATURES

──────────

Features, Features, a lot of Features!


✔ ~0% PERFORMANCE LOSS STATIC MODE

Very high performance ~0% fps loss blur mode


Use for UI elements that do not change frequently: Pause menu, Character menu, Main menu, Inventory, Popups, choices are limitless.


Unless the game is active and moving in the background and the motions needs to be visible too, use static mode.


Static mode limits performance impact to maximum 1 frame stutter even with heavy blur. Even 100 iterations gaussian is possible with this without continuous fps loss.



✔ MULTI BLURS

Three blurring options! Use any. Choose smooth or grainy, glassy or blocky


  • Dual Kawase: Performance + Quality - Targeted for mobile devices.
  • Box: Performance but blocky - Best used at higher iterations or higher kernel sizes or at lower iterations for glassy effects.
  • Precomputed Gaussian: High precision High quality Smooth Blur - Heavily Optimized (200% faster than normal gaussian blur without quality loss) - Use with PC, Consoles or Mobile.

Check screenshots for comparison



✔ MULTI-PASS BLURS

More iterations = More blur


Set iterations count in Render Feature(Global) or Render Blur Controller(Scene)



✔ FULLY CUSTOMIZABLE POST PROCESSING FX PIPELINE

Stack, reorder, mix effects to create stunning visuals


Enable post processing in Render Feature(Global) or Render Blur Controller(Scene) to enable effects pipeline.


Effects can be added, reordered or mixed to customize visuals.

Effects can be applied pre blur or post blur as needed.

Effects available:

  • Lens
  • Pixelate
  • Chromatic Aberration
  • Film Grain
  • Posterize
  • Saturation
  • Brightness
  • Constrast
  • Exposure
  • Hue
  • Vibrance
  • Temperature Sharpen

Use any combination of effects to get the visuals you need.


Hint: Lens + Chromatic Aberration + Saturation creates a really good looking distorted glass effect.


Check screenshots or video for reference



✔ ADVANCED GLASS BLUR FX

Liquid or frosted or even rippled, you name it, we have it!


Use RenderBlurCanvasAdvanced (Material) to unlock Advanced Glass Efffects


Glass Type: Select your preffered glass.

  • Liquid
  • Frosted
  • Rippled

Glass Strength: Set strength of Glass FX.

Distortion Scale: Set scale of Glass FX.


A refracting or solid color outline can also be added for glass edge


Outline Width: Set width of outline.

Outline Color: Set color of outline.

Glassy: Enable outline refraction.

Distort Amount: Set outline refraction amount.


Check screenshots or video for reference


✔ RESOLUTION SCALING

Set resolution of blur as you prefer


You can set Render Scale in Render Feature(Global) to reduce memory usage or increase performance even further beyond.



✔ PER-SCENE & PER-COMPONENT BLUR CONTROL

Different situations, different blurs


Apply scene specific blur - Main menu can have smooth blur while pause menu can have glassy blur.

Apply gameobject specific blur - Two render blur controller, one active at a one time. Inventory can have static blur while weapons tween can have continuous blur.


Apply in Render Feature(Global) or Render Blur Controller(Scene)



✔ SELECTIVE GLASSY BLURS

Some extremes create good art


Create simple blurry glass effects with or without Advanced Materials.


Tweak values at high radius and low iterations count to produce really good looking glassy blur effects. Radius values above 15 will tend more towards glassy effects.


Check screenshots for reference



✔ EXTENSIBLE

This is just a start


Use _RenderBlur global variable and connect with your shader graph.



COMPATIBILITY

────────────


Requirement: URP Render Graph

Built for: Latest Unity - Unity 6.0+ (Unity 6.0, Unity 6.3, Unity 6.4, Unity 6.5, etc)



USAGE

───────

Check screenshots or read below

  • Add RenderBlurFeature in URP Renderer Data
  • Add RenderBlurController component (To any gameobject in scene or to one using blur
  • (Optional) Set static mode or blur settings in controller
  • Add RenderBlurCanvas or RenderBlurCanvasAdvanced material to ui backgrounds or images
  • Enjoy the blur

Note: Render Graph is a requirement and it is turned on by default on Unity 6+.



SUPPORT

──────────

Contact me in mail or gitlab issues if you need help with anything or need new features


Issue Tracker: https://gitlab.com/Antiquete/renderblur

E-Mail: antiquete@protonmail.com



FAQ & TECHNICAL

────────────────


More blurs?

Yes, possible, tell which ones.


Number of passes for multi pass blur?

Right now, the max number of passes is 100, since I thought those were sufficient but I will increase it if people want more. Message me if thats needed or increase the range yourself in render feature script. For reference, at iterations >30, the blur is already so heavy that background details are mostly only colors.


Why is RenderBlurController needed?

Render Blur Controller is needed for blur to activate. This is intentional and a performance optimization.

Simply speaking, controller active = blur active, controller inactive = blur inactive

So for eg. say you have a pause menu that selectively activates and requires blur then put controller on it too to save performance.


How to use in custom shader graph?

Use _RenderBlur global variable, it will contain the output of RenderBlurRenderFeature.


How to use with Camera Space or World Space UI?

Move UI using RenderBlur to another layer, create a new renderer data and set it to render ui layer only.


More effects in advanced materials?

Yes, possible, tell which ones.



CREDITS

──────────


Dual Kawase: I mainly adapted baedrick's algorithm adaptation for Unity 6 render graph.