Product Details
Outline Objects is a per object outline shader for Unity.
Outline Objects enables you to instantly outline 2D and 3D mesh objects in your Unity game.
Outline Objects is easy to set up. To outline an object in your scene, simply drag and drop the outline material into a second material input slot on any object. That object will now be outlined. It is quick, easy, and well-supported.
Outline Objects also lets you customize the outlines for each object. Every single object in your scene can have a different outline style. The outlines are automatically sorted based on depth.
You can customize the outlines with this asset to fit your project. Each outline for each object can be customized separately.
Outline Objects supports a variety of outline styles, including thin and thick outlines, dynamic outlines that constantly move and change size, glowing outlines, etc.
In some outline assets, the width of the outline is the same no matter how far away the object is. This creates problems because distant objects can have huge outlines. With Outline Objects, the width of the outlines created with Outline Objects is configured entirely in world space, so outlines grow or shrink with distance.
Outline Objects also enables you to control the outline thickness per-vertex using the mesh's Vertex Color. You can use the Red channel in the Vertex Color to adjust the size of the outline at each vertex, which gives you the most artistic control over your mesh's outlines.
You can also scale the outline size down as objects get further away from the camera if you'd like the effect to only appear for nearby objects.
Finally, you can use a noise texture to attenuate the outline thickness based on the vertex distance from the object center. The noise texture is sampled along the x axis only. The Noise Framerate configures how frequently we jump to a new randomly offset position along the x-axis. Set this to zero to disable offset jumping. The Noise Frequency configures the rate at which the distance samples across the x-axis of the noise texture (e.g., setting frequency to 1 causes the shader to sample at a rate of 1 : 1 in world space units - in other words, 1 unit of distance will be equivalent to 1 repeat of the noise texture).
Shader Properties include the following:
- _OutlineColor
- _OutlineThickness
- _CompleteFalloffDistance
- _NoiseTexture
- _NoiseFrequency
- _NoiseFramerate
These Shader Properties are all accessible as standard material properties are during runtime, except for the three toggles - _UseVertexColors, _AttenuateByDistance, and _RandomOffset, which are shader feature keywords compiled during build.
How to Install Outline Objects for Unity
1. Import the Stylized Outline asset into your project.
2. Identify an object that you would like to outline in your scene and open it in the Inspector.
3. In the Mesh Renderer component, click the + button under the Materials slot.
4. Drag and drop the M_StylizedOutline
Frequently Asked Questions
Everything you need to know about this asset.
No FAQs found yet.
Still have questions? Ask in our Discord.
How do I use the Outline Objects pack in my Unity URP game?
It's easy! Just drag and drop the outline material into a second material input slot onto any mesh you want to give an outline.
Can I customize the outline for each mesh?
Absolutely! You can choose the outline color, thickness, and even use the Vertex Color channel for artistic control.
What are Smooth Normals?
This Outline Shader extrudes the mesh in the direction of each vertex's normal vector. For hard-edge surfaces like the default cube, the normal vector is perpendicular to the surface along the entire face.
The Outline Shader looks a lot better if the mesh is extruded along the smooth normal direction such that it appears to be scaled.
Typically, smooth normals are stored in the Vertex Color channel. However, the Vertex Color channel is often used for other scenarios - such as attenuating the outline thickness. For this asset, we store the Smooth Normals in the UV3 channel.
This asset offers a tool that enables you to bake the Smooth Normals for your mesh for the best visual results while retaining your Vertex Color data.

How do I generate Smooth Normals?
Go to Tools -> Generate Smooth Normals, drop in the mesh you want to generate smooth normals for, then hit "Bake". The smoothed normals will be baked to the UV3 channel of the target mesh and a new mesh asset will be created in the project.
Use this new mesh asset for your object.
How do I enable Smooth Normals?
Go to the Outline material on a mesh with valid smooth normal data in the UV3 channel, then enable the "Use Smoothed Normals" checkbox.
How does the outline size work?
The outline is rendered in world space, so you can set the exact size of the outline in world space units. As objects move closer or further from the camera, the outline remains the same size relative to the object. You can also scale the outline size down as objects get further away from the camera if you want the effect to only appear for nearby objects.
Can I use a noise texture to customize the outline thickness?
Yes! You can use a noise texture to attenuate the outline thickness based on the vertex distance from the object center.
Are the Shader Properties accessible during runtime?
Most of the Shader Properties are accessible as standard material properties during runtime, except for the three toggles - _UseVertexColors, _AttenuateByDistance, and _RandomOffset, which are shader feature keywords compiled during a build.
How do I access the Shader Properties?
The Shader Properties include _OutlineColor, _OutlineThickness, _CompleteFalloffDistance, _NoiseTexture, _NoiseFrequency, and _NoiseFramerate. These properties are all easily accessible during runtime.
How do I install the Outline Objects pack for Unity?
Follow these steps:
- Import the Stylized Outline asset into your project.
- Identify an object that you want to outline in your scene and open it in the Inspector.
- In the Mesh Renderer component, click the + button under the Materials slot.
- Drag and drop the M_StylizedOutline material from the project window into the new slot that appears in the Mesh Renderer component.
- In the M_StylizedOutline material, assign the desired texture to the _MainTex property.
- In the M_StylizedOutline material, adjust the _OutlineColor and _OutlineThickness properties to your desired values.
- Repeat steps 2-6 for any additional objects that you want to outline.
Do I need to do anything special to my object to make it work with the Outline Objects pack?
No, any standard 2D or 3D mesh object can be used with the Outline Objects pack. Simply follow the installation steps above to add an outline to your desired object.
Can I customize the outline color and thickness?
Yes, you can easily customize the outline color and thickness for each object using the _OutlineColor and _OutlineThickness properties in the M_StylizedOutline material.
Can I use the Outline Objects pack with multiple objects in my scene?
Yes, you can use the Outline Objects pack with as many objects as you like in your scene. Simply follow the installation steps for each object that you want to give an outline.
Are there any known issues or compatibility issues with the Outline Objects pack?
As far as we are aware, there are no known issues or compatibility issues with the Outline Objects pack. If you encounter any issues, please don't hesitate to contact us for support.
Used in
All #MadeWithOccaSoftware projects that use this asset.
No projects yet.
Are you using an OccaSoftware asset in your project?
Submit your game to #MadeWithOccaSoftware so that we can feature you on our website.