Download
Latest version: UIFX - Outline Filter v1.9.6 (13 October 2025) >> Release Notes.
Available From
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!
- History - access to all previously released versions.
- 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.
12/10 Essential and Ferrari-level asset
it saved me a lot of headache
Great plugin and dev
See More Reviews...
optimized even for mobile
Great Lifesaver
best ui outline solution
truly outstanding
Release Notes
13 October 2025 - Version 1.9.6
Added
- Added new Graphic Update utility component which forces the Graphicto update (based on parameters) which is useful when theGraphiccontains a dynamicRenderTexture,WebCamTextureor other dynamic content that needs the filter components to render when they change.
Improved
- Exposed all fields for Filter Stack (Text MeshPro) as properties for scripting.
Fixed
- Fixed NullExceptionin filters error when deletingRectMask2Dhierarchy.
- Fixed a divide-by-zero in filters that could happen when scale became zero in Canvasmode.
- Fixed bug where using the filter baking button would cause an IMGUIlayout begin/end mismatch error sometimes.
14 September 2025 - Version 1.9.5
Highlight: 🚀 Culling Performance Improvements
Changed
- Nintendo Switchplatform now detected and uses same quality options as mobile (reduced shader precision and downsampled texture resolution) instead of the more expensive desktop quality.
- FilterStackTextMeshProproperty- UpdateOnTransformnow disabled by default, which improves performance when using- Canvas- FilterRenderSpacemode, especially useful in a- ScrollRect- this is possible due to improving- RectMask2Dculling support mentioned below.
Improved
- Filter components now handle RectMask2Dculling correctly, leading to huge performance improvements, especially for common cases such as having many child UI elements in aScrollRect.
- Filter Stack (Text MeshPro) filters now sorted alphabetically to make finding filters easier.
- Faster and more accurate detection code for detecting premultiplied alpha shaders.
- FilterStackTextMeshProgenerates less garbage now.
- FilterStackTextMeshProand- FilterBasehave new logic to detect HDR output from filters and switch to appropriate texture formats.
- All shaders optimised to produce fewer vertex shader variants, saving compile time and memory.
Fixed
- Outline Filter fixed corrupt rendering on Nintendo Switchplatform.
- Fixed bug in FilterStackTextMeshProwhere disabling the last filter would render a solid quad.
10 August 2025 - Version 1.9.3
Improved
- Added Preferencesoption to make the Inspector UI more compact by showing/hiding the components header/footer buttons.
- TextMeshPro&- UI Toolkitare now automatically detected, so options to enable support have been remove from- Preferences.
- Composite shader pow(0.5) changed to sqrt for performance.
Fixed
- Fixed incorrect handling of vertex color gamma/linear conversion in Filter Stack TextMeshPro that would cause the color to darken over time.
- Fixed regression introduced in 1.9.2 for RectMask2D causing FilterStackTextMeshProto render incorrectly when removing the last filter in the list.
6 August 2025 - Version 1.9.2
Fixed
- Fixed buggy downsampling implementation introduced in 1.9.0 for handling texture that are larger than the system can handle. This manifested recently in world-space canvas rendering issues. Also added logging for when this happens.
- Fixed a rendering issue in FilterStackTextMeshPro when using RectMask2Dfor masking withoutUpdateOnTransformenabled and withRender Spaceset toCanvas- it wouldn't update the culling status as it went in/out of the rectangle.
- Fixed bug in Outline Filter related to Distance Mapfor images with width/height of 1 on mobile platforms.
5 July 2025 - Version 1.9.1
Improved
- Outline Filter Distance Mapmode now closer matches theDilatemode and has improved quality atSoftnesslevel of zero.
Fixed
- Fixed regression from version 1.9.0 related to [ExecuteAlways]where exiting play mode while editing a UIFX prefab would result in an error and incorrect rendering.
28 June 2025 - Version 1.9.0
Improved
- Added a better fallback path for when filters request a texture size larger than the system supports - previously materials were rendered without a texture leading to incorrect rendering - but now a warning is issued and the nearest supported texture size is used.
- All filters and effects now use [ExecuteAlways]instead of[ExecuteInEditMode]attribute to improve support for the prefab editor.
Fixed
- Fixed bug in FilterStackTextMeshPro where it would render fallback fonts using incorrectly alpha blending leading to visual artifacts.
30 May 2025 - Version 1.8.10
Improved
- FilterStackTextMeshPro inspector improved support for multi-object selection.
Fixed
- Fixed regressions introduced in 1.8.9 for the FilterStackTextMeshPro component related to HasMeshChanged()method.
- Fixed issue in FilterStackTextMeshProwhen inCanvasmode setting the relative font size scaling wouldn't set the correct expand values, leading to cropping.
- Changed alpha cutoff threshold in DistanceMap.shaderfrom 0.01 to 0.016 to fix issue where using HIGH compression could introduce tiny rogue alpha values that would mess up the distance map calculations.
23 May 2025 - Version 1.8.9
Improved
- Performance has been improved when using the Text Animator asset. Rendering no longer updates continually either for text that doesn't contain a Text Animatorcomponent, or when the animation is not updating the vertex data.
- AnimationCurveproperties on various filters and effects now show a warning when keyframe values are out of expected range.
24 April 2025 - Version 1.8.8
3 April 2025 - Version 1.8.6
Fixed
- Fixed several shaders to resolve very strict XBox and PS5 compilation errors.
- Fixed bug where TextMeshPro bounds were incorrectly calculated, resulting in things like underline sometimes not being rendered.
- Fixed TextMeshPro shaking when using 3rd-party text animation plugins like Text Animator.
- Fixed rare divide by zero bug in bounds padding calculation.
8 March 2025 - Version 1.8.5
Added
- All filters now have a new Expandproperty which controls whether the filter expands to fit the filter or keeps it's original size. This is useful to keep the filters within a region such as the newCameraSourcecomponent.
Improved
- OutlineFilteroptimised- Dilatemode using multi-pass dilate.
- FilterHoverStrengthcomponent now supports multiple filters.
29 January 2025 - Version 1.8.4
Fixed
- Fixed bug where FilterStackTextMeshProcomponent would sometimes render to texture size too large due to including dummy null vertices - this also manifested in the pivot point affecting texture size. This fix will also improve performance in some cases due to smallerRenderTexturesizes.
17 January 2025 - Version 1.8.3
Fixed
- Fixed bug in FilterStackTextMeshProthat created rendering artifacts when switchingStrengthto zero via scripting.
- Fixed multiple selection logic for displaying of button to create FilterStackTextMeshProcomponent.
15 January 2025 - Version 1.8.2
Fixed
- Fixed bug where having multiple canvases would use the incorrect Canvasfor the canvasLocalScale and thus renderTextMeshProincorrectly withFilterRenderSpace.Canvas.
14 January 2025 - Version 1.8.1
Fixed
- Fixed various bugs with FilterStackTextMeshProwhen working with multiple selected objects.
- Fixed issue with blurry TextMeshProwhen usingCanvaswith aCamerawith a small orthographic size andFilterRenderSpace.Canvas.
Other
- Copyright messages updated to 2025.
- DisallowMultipleComponent attribute added to FilterStackTextMeshPro.
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 Scalerwithout having it set to 1920x1080. This is a breaking change if you are using- Canvas Scalerin- Scale With Screen Sizemode 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_SCALINGto 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.ScreentoFilterRenderSpace.Canvasby default. You can read more aboutFilterRenderSpacehere.
- Previously unexposed script properties are now available in the Frame Filter.
Improved
- All filters when using the new FilterRenderSpace.Canvasmode will no longer re-render the filters when the transform are changed (as long asCanvaspixel-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 Scalerwithout having it set to 1920x1080 (see Breaking Changes above).
- Fixed issue where the filter wouldn't render when the Canvas.planeDistancewas too near the camera near/far clipping plane. Also added a warning when this value is beyond a sensible range.
- Fixed Outlinefilter so it doesn't render behind the sourceGraphicwhenDirectionisOutside.
- Fixed Android issue with Outlinefilter 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
- Added new Filtersproperty to FilterStackTextMeshPro component. This allows API access to the filter list.
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 Imagecomponent has been improved and released out of beta.
- The feature to save filters to PNGimage 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 Bundleis 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 ifStrength<= 0.0 or other parameters result in no rendering).
- Optimised FilterStackTextMeshProto reduce the number ofRenderTexturesin some cases.
- FilterStackTextMeshProeditor on newer Unity versions now shows our custom- Reorderablelist.
- FilterStackTextMeshProeditor- +button now shows list of filters.
Fixed
- Fixed bug where disabling TextmeshProdidn't stopFilterStackTextMeshProrendering.
- Fixed bug in FilterStackTextMeshProwhen using "in-context" prefab editor and nothing would render.
- Fixed FilterStackTextMeshProeditor where in older Unity versions empty filter slots woudln't be cleared cleanly.
- Fixed a regression in FilterStackTextMeshProeditor 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
- FilterStackTextMeshPronow has toggle for quickly enabling/disabling filters and delayed attribute for font relative size.
- FilterStackTextMeshProhas reduced memory usage in cases where second- RenderTextureis not needed.
Fixed
- Fixed Reset()andOnValidate()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 Canvaswas 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 TextMeshProbut without aFilterStackTextMeshProcomponent.
- Added new UpdateOnTransformproperty toFilterStackTextMeshProto prevent re-rendering caused by transforms which improves performance if you don't require re-rendering.
Changed
- Changed TextMeshProsupport 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 Modewhere 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 Blurproperty values forBlur Filter,Drop Shadow Filter,Outline FilterandGooey Filtershould be doubled.
Changed
- MultiBoxblur 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
- Fixed bug in Filter Stack TextMeshPro where it didn't render correctly when vertex alpha was used in Blur Filter.
16 June 2024 - Version 1.7.3
Improved
- Optimised shader ErodeDilateandDistanceMapshaders 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
- Fixed Filter Stack TextMeshPro component support for submeshes and fallback fonts.
6 June 2024 - Version 1.7.2
Fixed
- Fixed Filter Stack TextMeshPro component support for submeshes and fallback fonts.
- Fixed Android GLES2.0 shader compatibility bug in UIFX - Outline Filter.
31 May 2024 - Version 1.7.1
Added
- Added scaling based on transform and font size to Filter Stack TextMeshPro.
Fixed
- Fixed rendering artifact issue on some low-end mobile devices with UIFX - Outline Filter.
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 RawImagecomponent. 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.vertexColorAlwaysGammaSpaceforTextMeshProrendering
- Added support for TextMeshPro.tintAllSpritesforTextMeshProrendering
Fixed
- FilterStackTextMeshPro now renders TextMeshProvertex colors correctly
- Fixed regression that would cause FilterStackTextMeshPro to perform extra redundant image processing
3 May 2024 - Version 1.6.8
Fixed
- Fixed incorrect rendering of filters when Graphichas user defined material
- Fixed bug where Prefab view wouldn't render filters due to null Canvas
- Fixed bug where changing hierarchy could use incorrect Canvasin filters
- Fixed bug where undo could cause null exception in filters
- Fixed Outline Filterrendering artefacts when theGraphichad pixels on the edge of theRectTransform
30 April 2024 - Version 1.6.6
Improved
- UIFX - Outline Filter DistanceMaprendering 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 Protext rendering is now pixel perfect in orthographic camera mode
- Some minor script optimisations
Fixed
- Fixed Blur Filterradius being too small in some cases
- Fixed Text Mesh Prosprite rendering blend mode
20 April 2024 - Version 1.6.2
Improved
- Clearer TextMeshProfilter rendering
- All Strengthproperty sliders improved to change color when activated
- Shader code cleaned up
- Tested with SoftMaskForUGUI
Fixed
- Fixed support for Mask/RectMaskin all filters
- Fixed TextMeshProDrop 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 TextMeshProissues 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 Filterhas a new rendering method- DistanceMapwhich is much faster than the old method, especially for large outline sizes
- Outline Filterperformance 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
- FilterStackTextMeshPronow 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 Filterhas new- DistanceShapemode- 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 haveGraphic.useLegacyMeshGenerationenabled
Changes
- Renamed component TextMeshProFilters to FilterStackTextMeshPro
- Renamed enum ErodeDilateShapetoDistanceShape
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
- TextMeshProis now supported by all filter effects!!
- Filters (Blur, Outline, Drop Shadow etc) now support TextMeshProthrough 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