Skip to main content

Download

UIFX - Outline Filter is available for download from:

Online Stores

Why use the DinoStore? ✨

We built the DinoStore to give our customers the best purchasing and after-sales experience. Benefits include:

  • Support the developer directly.
  • Lowest price!
  • Direct downloads to newly released updates.
  • Access all previously released versions for free.
  • Earliest access to new version releases (no need to wait for Unity Asset Store review process).
  • Don't worry, it's legit - our store is built using LemonSqueezy and Chocolate Dinosaur Ltd is a registered UK company.

Customer Reviews

Once you have tried this asset, we would really appreciate your rating / review on the Unity Asset Store.

sujeet_unity648  -  Unity Asset Store   ★★★★★

“The most useful asset out there for text outlines. The developer is the greatest as they provide you the most fast and optimal solution as you contact them. Great plugin and dev.”

MikeGreen  -  Unity Asset Store   ★★★★★

Best UI Outline Kit! This is the best ui outline solution and is worth recommending to everyone. Most importantly, the author's support is very fast and so great!

PinpinTeam  -  Unity Asset Store   ★★★★★

Very good asset. Very easy to use, optimized even for mobile. I've been struggling for a long time with outlines and this asset makes me win so much time. On top of that the dev is super nice and responsive

caglarenes  -  Unity Asset Store   ★★★★★

Great Lifesaver. I used this effect on my images as a selection effect. Since it can be stacked, I could also make fancy effects on my logo. Since I can give the effect I want on the same image, I removed duplicate images in my application. I was able to keep the application size small.

goodspeed2012  -  Unity Asset Store   ★★★★★

Great asset!!! This plugin performs exceptionally well, creating beautiful UI image outlines without hogging resources. Curious, I reached out to the developer to ask if they could possibly introduce a feature allowing us to save outlined sprites as PNG files. Initially, my inquiry was made with little expectation. However, not only did the developer respond promptly, but they also added the requested feature the very next day. I am deeply thankful to the UIFX - Outline Filter developers for their prompt and effective action! It’s truly outstanding.

Release Notes

22 December 2024 - Version 1.8.0

Highlight: 🚀 Two new FILL Filters!

Breaking Changes

⚠️ Commit/Back-up your project before upgrading!

  • This version changed code that calculates the resolution independent scaling factor. This change is from previously using the monitor resolution or camera resolution to now using Canvas.scaleFactor - this fixes issues with the prefab mode having the wrong scaling, and also incorrect scaling when using the Canvas Scaler without having it set to 1920x1080. This is a breaking change if you are using Canvas Scaler in Scale With Screen Size mode without the reference resolution set to 1920x1080 and would mean that all filters that specify pixel values (eg Outline.Size) for properties will display differently and will need to be adjusted to achieve the original look. If you need to delay this improvement in your project, you can add the scripting define symbol UIFX_OLD178_RESOLUTION_SCALING to your project to revert back to old way of calculating resolution scaling.

  • This version has a new feature that allows you to change whether the filters are rendered in canvas-space or screen-Space. Previous versions always rendered in screen-space, however rendering in canvas-space is much more optimal in most cases, so now this is the new default. This is a big change and could have consequences to your project, however you should be able to switch back to screen-space in your filter components to get back to the old behaviour if there are any issues.

Changed

  • All filters changed from using FilterRenderSpace.Screen to FilterRenderSpace.Canvas by default. You can read more about FilterRenderSpace here.
  • Previously unexposed script properties are now available in the Frame Filter.

Improved

  • All filters when using the new FilterRenderSpace.Canvas mode will no longer re-render the filters when the transform are changed (as long as Canvas pixel-perfect setting is disabled).
  • Editor inspector enum elements now resize better, switching between dropdown and expanded mode depending on the size of the window.

Fixed

  • Fixed issues with the prefab mode having the wrong scaling, and also incorrect scaling when using the Canvas Scaler without having it set to 1920x1080 (see Breaking Changes above).
  • Fixed issue where the filter wouldn't render when the Canvas.planeDistance was too near the camera near/far clipping plane. Also added a warning when this value is beyond a sensible range.
  • Fixed Outline filter so it doesn't render behind the source Graphic when Direction is Outside.
  • Fixed Android issue with Outline filter where it would not render due to unsupported texture format.
  • Fixed some inspector window issues where some enums/sliders wouldn't show the correct state in prefab view.
5 November 2024 - Version 1.7.11

Added

Improved

  • Many filters use less GPU memory by freeing intermediate textures.
  • All filters produce less garbage and do less work when being enabled/disabled by instead only destroying some resources in OnDestroy().
  • All filters have improved support for rendering in RenderMode.WorldSpace.
  • Editor preferences now have the options per-platform, making it easier to enable features like TextMeshPro support on multiple platforms.

Fixed

  • Fixed a rare bug where a stack of filters with the same shader (like UIFX/Blend) wouldn't detect a parent shader change in GetModifiedMaterial() due to them having the same shader.
11 September 2024 - Version 1.7.10

Improved

  • The feature to bake filters into an Image component has been improved and released out of beta.
  • The feature to save filters to PNG image file has been improved and released out of beta.
3 September 2024 - Version 1.7.9

Added

  • Added a handy new "Upgrade" button if the UIFX Bundle is not detected.

Improved

  • Various minor code improvements.
14 August 2024 - Version 1.7.8

Highlight: 🚀 Lots of Improvements for TextMeshPro Support!

Improved

  • Optimised FilterStackTextMeshPro to no longer render invisible filters to TextMeshPro (eg if Strength <= 0.0 or other parameters result in no rendering).
  • Optimised FilterStackTextMeshPro to reduce the number of RenderTextures in some cases.
  • FilterStackTextMeshPro editor on newer Unity versions now shows our custom Reorderablelist.
  • FilterStackTextMeshPro editor + button now shows list of filters.

Fixed

  • Fixed bug where disabling TextmeshPro didn't stop FilterStackTextMeshPro rendering.
  • Fixed bug in FilterStackTextMeshPro when using "in-context" prefab editor and nothing would render.
  • Fixed FilterStackTextMeshPro editor where in older Unity versions empty filter slots woudln't be cleared cleanly.
  • Fixed a regression in FilterStackTextMeshPro editor where the filter list item selection was broken.
  • Fixed bug where scaling the font too small would cause error due to texture size of 0.0 in the Outline Filter.
4 August 2024 - Version 1.7.7

Improved

  • FilterStackTextMeshPro now has toggle for quickly enabling/disabling filters and delayed attribute for font relative size.
  • FilterStackTextMeshPro has reduced memory usage in cases where second RenderTexture is not needed.

Fixed

  • Fixed Reset() and OnValidate() sometimes not updating the rendering due frame caching optimisation.
28 July 2024 - Version 1.7.6

Fixed

  • Fixed all effects and filters not restoring rendering when Canvas was disabled initially and then enabled.
18 July 2024 - Version 1.7.5

Improved

  • Filter Stack TextMeshPro has many quality of life improvements.
  • All UIFX filters now have helpful warning messages and solution buttons when used with TextMeshPro but without a FilterStackTextMeshPro component.
  • Added new UpdateOnTransform property to FilterStackTextMeshPro to prevent re-rendering caused by transforms which improves performance if you don't require re-rendering.

Changed

  • Changed TextMeshPro support to now read in vertices from the meshInfo.mesh instead of meshInfo.vertices which seems to work better with many other plugins that transform vertex positions.

Fixed

  • Fixed bug with in-context Prefab Mode where UIFX filters wouldn't render.
1 July 2024 - Version 1.7.4

Breaking Changes

  • The blur algorithm has changed slightly so any existing blurs in your project will be roughly half the size. To fix this your existing Blur property values for Blur Filter, Drop Shadow Filter, Outline Filter and Gooey Filter should be doubled.

Changed

  • MultiBox blur changed from 3 to 2 passes resulting in a performance increase. This affects all filter components that use blurs internally.
  • Filter Stack TextMeshPro now renders to a non-floating point texture format on Mobile devices resulting in a performance increase.
  • Demo scenes refactored and now use Prefabs.
  • Some refactoring and general code improvements

Fixed

16 June 2024 - Version 1.7.3

Improved

  • Optimised shader ErodeDilate and DistanceMap shaders to have fewer variations (less memory, faster compile).
  • Added optimisation to call GenerateScreenRect() less often.
  • Removed some unnecessary GetComponent() calls.
  • Changed to more correct method to get parent Canvas.

Fixed

6 June 2024 - Version 1.7.2

Fixed

31 May 2024 - Version 1.7.1

Added

Fixed

24 May 2024 - Version 1.7.0

Added

  • Added "Convert To Image" button to automatically bake all the filters into a texture and replace them with a RawImage component. This is a beta feature and must be enabled in UIFX preferences.

Fixed

  • Fixed some compiler warnings.
10 May 2024 - Version 1.6.9

Added

  • Added support for Canvas.vertexColorAlwaysGammaSpace for TextMeshPro rendering
  • Added support for TextMeshPro.tintAllSprites for TextMeshPro rendering

Fixed

3 May 2024 - Version 1.6.8

Fixed

  • Fixed incorrect rendering of filters when Graphic has user defined material
  • Fixed bug where Prefab view wouldn't render filters due to null Canvas
  • Fixed bug where changing hierarchy could use incorrect Canvas in filters
  • Fixed bug where undo could cause null exception in filters
  • Fixed Outline Filter rendering artefacts when the Graphic had pixels on the edge of the RectTransform
30 April 2024 - Version 1.6.6

Improved

  • UIFX - Outline Filter DistanceMap rendering method optimisations
  • Several optimisations for memory usage, code performance and garbage reduction

Fixed

  • Fixed rare bug in filter rendering logic, where mid-frame dynamic font texture update would cause mesh regeneration, which would cause incorrect rendering due to optimisation that prevented multiple renders per-frame
24 April 2024 - Version 1.6.4

Improved

  • Text Mesh Pro text rendering is now pixel perfect in orthographic camera mode
  • Some minor script optimisations

Fixed

  • Fixed Blur Filter radius being too small in some cases
  • Fixed Text Mesh Pro sprite rendering blend mode
20 April 2024 - Version 1.6.2

Improved

  • Clearer TextMeshPro filter rendering
  • All Strength property sliders improved to change color when activated
  • Shader code cleaned up
  • Tested with SoftMaskForUGUI

Fixed

  • Fixed support for Mask/RectMask in all filters
  • Fixed TextMeshPro Drop Shadow edge artifact
  • Fixed null exception when adding filter to GameObject without Graphic component
16 April 2024 - Version 1.6.0

Highlights

  • Massive performance improvements across all filters
  • High performance of Outline Filter even at large sizes
  • Many TextMeshPro issues fixed and improvements

Performance

  • Eliminated redundant per-frame filter rendering
  • Added per-platform performance settings to allow lower pecision and downsampling to be used on some platforms
  • Outline Filter has a new rendering method DistanceMap which is much faster than the old method, especially for large outline sizes
  • Outline Filter performance improved due to smaller area processed
  • All property changes are now checked for changes and only trigger minimal rendering
  • Editor preview no longer renders every frame, now only when rendering changes

Improved

  • FilterStackTextMeshPro now ignores empty placeholder vertices and updates whenever camera/transform changes and has a handy dropdown of the filter list to make adding filters easier
  • Outline Filter has new DistanceShape mode Diamond
  • More accurate projection matrix region calculations
  • World-space canvas support improved
  • Added support for SVGImage (part of com.unity.vectorgraphics) component and other UI components that have Graphic.useLegacyMeshGeneration enabled

Changes

Fixed

  • Fixed TMP sprite rendering material
  • Fixed TMP rendering blurry due to not setting the ScreenParams
  • Fixed issue when no World Space camera was assigned, no defaults to Camera.main
  • ZTest shader mode now set via variable so Unity rendering can control it - previously was forcing ALWAYS
4 April 2024 - Version 1.5.6

New

  • TextMeshPro is now supported by all filter effects!!
  • Filters (Blur, Outline, Drop Shadow etc) now support TextMeshPro through the new component UIFX - TextMeshPro Filters. This component also alows easy filter reordering and supports TMP sprites and underlines.
  • New project preferences menu exposes plugin options
30 March 2024 - Version 1.5.4

Improved

  • Some minor general code improvements

Fixed

  • Fixed issue where filter wouldn't run when textures were too large, maximum texture size is now limited
  • Fixed bug where resolution-indepdenent scale would be calculated incorrectly sometimes
  • Fixed bug where enum property sometimes wouldn't be saved correctly
  • Fixed bug where changing the transform wouldn't cause the filter to re-render
19 March 2024 - Version 1.0.2

New

  • Added stereo render (VR) support thanks to PedroB.
  • Added new feature to preview filter in the Inspector and option to export to PNG image
  • Added new API method FilterBase.SaveToPNG() in to write filter output to PNG
  • Added new API method FilterBase.ResolveToTexture() to resolve filter output to RenderTexture
5 March 2024 - Version 1.0.0
  • First release