
JeffUI (previously "FlexibleBlur") combines multifaceted procedural UI generation with the hands-down most powerful UI blur solution for Unity.URP required for blur. Includes instructions for usage with BiRP/HDRP.Elevate your Unity projects with JeffUI, the ultimate tool for creating stunning, professional-grade UI elements. Say goodbye to tedious graphics editors and hello to beautiful, customizable UI with breathtaking blur effects.Why Choose JeffUI?Gorgeous UI Blur: Add depth and polish with the most advanced blur system for Unity.Procedural Power: Generate UI images on the fly—no graphics editor required.Seamless Integration: Combines procedural generation, blur, and more into one vertically integrated Swiss Army knife.JeffUI isn’t just a blur tool with procedural features tacked on—or vice versa. It’s a cohesive, cutting-edge solution where both aspects outshine single-purpose competitors.Two Tools, One Asset1️⃣ Flexible Blur – The Pinnacle of UI BlurThe most sophisticated and versatile blur solution for Unity, designed to meet the toughest demands:Unrivaled Flexibility: Batch blurs for performance or compute them individually for greater artistic control—or mix and match—your choice.Scalable Quality: Fine-tune from lightweight performance to ultimate fidelity.Smart Optimization: Automatic culling ensures only the smallest necessary area is blurred.Simple Setup: Add the Flexible Blur renderer feature and tell ProceduralBlurredImage (and/or lightweight UIBlur) components which cameras to receive blurred output from.Reactive to Quality Settings: Blur presets can define blur settings for each quality level.Feature-Rich:Resolution-independentFine control over downsample, blur iterations, and sample distanceChoice between lightweight and high-quality algorithmsSmooth out banding from heavy blurs with ditheringStacked blurs (even within the same canvas, with caveats) via layersVibrancy and tintBlur paddingBlurs can be faded with alpha blending, or via blur strengthOptional compute shadersPlatform-specific control over texture formatsUnity 6 Rendergraph compatibleVR-ready and single-pass compatibleAnd more!2️⃣ ProceduralBlurredImage – Infinite Creativity, Zero HassleCraft stunning UI images procedurally with a single, intuitive component:Low Overhead (Shared Materials): Every shader input channel is utilized and packed with data, down to the last bit. Alternatives either offer less functionality or incur additional draw calls since they cannot be batched.Blur Integration: Apply Flexible Blur to procedural shapes or sprite-defined areas effortlessly.Shape Control:Per-corner roundnessPer-corner concavityStrokeSoftnessOutlineCutouts:Define cutout areas relative to the center of the image or its sidesCutout can affect the whole image, or just the outlineGradients:Secondary color gradient can be applied in four modes: angle, radial, perimeter, or centerGradient can affect the entire image, just its outline, or everything other than the outlineSupport ditheringAdditional Features:Transform-independent translation, size, and rotationRaycast target area can conform to procedural shapeRaycast area can be expanded for mobile platformsColor presets for primary, secondary, and outline huesScreen space scanlinesAnd more!Most flexible UI blur solution on the asset store.Shared materials.Unity 6 RenderGraph support.Being built specifically for URP means a more tailored and elegant solution. There is a Renderer Feature, blur components, and that's it. Scenes are straightforward to set up. No component needs to be added to cameras.Choice between compute and fragment shader paths.Blurs can be set up individually, or with shared presets.Presets can respond to quality settings.Very fine grained control over quality versus performance.One reason I deciced to create Flexible Blur was that other solutions had a tendency to sacrifice quality on the altar of performance (or vice-versa) and were not able to be configured outside of a certain range in quality.Supports resolution independant blur (the strength of blurs in other assets may shrink as applicaiton resolution increases.)Supports dithering to eliminate banding on very strong blurs.Supports stacked blur via multiple camerasAlso supports limited blur stacking with a single camera, where blurs can see one another, but not other UI elements on the same canvas.Choice of two different blur components: UIBlur is lightweight but limited, while ProceduralBlurredImage leverages, and expands upon, existing features of UGUI Image components.Able to setup platform-specific texture formats and shader path.Supports world space, screen space, and overlay canvases.Practically performance cost when no blurs are active.As opposed to other assets that apply blur to every pixel on that a camera can see, Flexible Blur only blurs the pixels that are needed.Unlike certain competitors, you are not constrained to a single blur source per camera. There is no requirement that all blurs share the settings.By extension, blurs can fade in and out naturally instead of relying on alpha blending.There's is a trade-off between the total number of sampled pixels and the overhead each blur incurs (but lower overhead per blur with the compute path).But with Flexible Blur, you decide which tradeoffs are needed.ProceduralBlurredImages can be marked as batchable, where applicable blurs will automatically share a source.These batches blurs behave similarly to the way some competitors work by default, with similar limitations.Even with batched blurs we still avoid blurring every pixel, and just blur the minimum area required to contain the batched elements. But batched blurs can be set to blur the whole screen to capture edge cases.AI Image generation was used to generate background images for demo scenes.