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.
“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.”
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!
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
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.
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 theCanvas Scaler
without having it set to 1920x1080. This is a breaking change if you are usingCanvas Scaler
inScale With Screen Size
mode without the reference resolution set to 1920x1080 and would mean that all filters that specify pixel values (egOutline.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 symbolUIFX_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
toFilterRenderSpace.Canvas
by default. You can read more aboutFilterRenderSpace
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 asCanvas
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 sourceGraphic
whenDirection
isOutside
. - 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
- Added new
Filters
property 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
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 ifStrength
<= 0.0 or other parameters result in no rendering). - Optimised
FilterStackTextMeshPro
to reduce the number ofRenderTextures
in some cases. FilterStackTextMeshPro
editor on newer Unity versions now shows our customReorderablelist
.FilterStackTextMeshPro
editor+
button now shows list of filters.
Fixed
- Fixed bug where disabling
TextmeshPro
didn't stopFilterStackTextMeshPro
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 secondRenderTexture
is 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
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 aFilterStackTextMeshPro
component. - Added new
UpdateOnTransform
property toFilterStackTextMeshPro
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 forBlur Filter
,Drop Shadow Filter
,Outline Filter
andGooey 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
- 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
ErodeDilate
andDistanceMap
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
- 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
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
forTextMeshPro
rendering - Added support for
TextMeshPro.tintAllSprites
forTextMeshPro
rendering
Fixed
- FilterStackTextMeshPro now renders
TextMeshPro
vertex 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
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 theGraphic
had pixels on the edge of theRectTransform
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 methodDistanceMap
which is much faster than the old method, especially for large outline sizesOutline 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 easierOutline Filter
has newDistanceShape
modeDiamond
- 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.useLegacyMeshGeneration
enabled
Changes
- Renamed component TextMeshProFilters to FilterStackTextMeshPro
- Renamed enum
ErodeDilateShape
toDistanceShape
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