Simple Outline Shader 2D – Shader by Roam Moon


- HDRP is not supported. Simple Outline draws a clean, per-pixel outline around any SpriteRenderer. ... There is no material ... sprite entirely for silhouette and highlight effects.


by Roam Moon


Price History +

Outline any sprite with one component. Choose a color, set the thickness, done. No materials to create. Works in the Built-in Render Pipeline and URP.

- One component. Add Sprite Outline Effect to any GameObject with a SpriteRenderer and the outline appears. No material assets are created.

- 9 settings, all live in the Scene view without entering Play mode: Outline Color, Thickness, Alpha Threshold, Edge Softness, Diagonal Samples, Inner Outline, Outline Only, Pulse Intensity, Pulse Speed.

- HDR outline color with an Intensity slider, ready for Bloom.

- Thickness from 0 to 16 texture pixels, so results stay consistent across sprite resolutions.

- 4-direction or 8-direction sampling. 4 gives hard pixel-art corners, 8 gives rounder ones.

- Outer, inner and outline-only modes.

- Sine pulse animation with adjustable speed, driven entirely in the shader.

- Edge Softness from hard-edged pixel art to a soft fade.

- Full C# API. Every setting is a property that applies the moment you assign it.

- Custom Inspector with grouped sections and context-aware warnings.

- 2 custom shaders, full source included:

  - Roam Moon/Simple Outline, hand-written ShaderLab, works in the Built-in Render Pipeline and URP.

  - Roam Moon/Simple Outline Graph, an optional Shader Graph version for URP users who want to extend the effect visually.

- Shared HLSL core, so both shaders use one implementation.

- C# source included, organized behind assembly definitions and a RoamMoon.SimpleOutline namespace so it will not collide with your code.

- Demo scene included.

- Offline documentation included as RTF, with a table of contents and 11 numbered sections.

- No package dependencies. Nothing to install alongside it.

- Requires Unity 6000.0 or newer.

- No textures or art assets are required. The effect is generated from your own sprites at runtime.

- Performance: 9 texture samples per pixel. Settings are applied through MaterialPropertyBlock, so outlined sprites do not use the SRP Batcher fast path.

- HDRP is not supported.

Simple Outline draws a clean, per-pixel outline around any SpriteRenderer.


Add the component, pick a color, and the outline is there. There is no material

to create, no shader to assign, and nothing to wire up. The effect reads the

alpha channel of your sprite, so it works with any artwork you already have,

without redrawing anything or authoring separate outline sprites.


Everything is adjustable from a purpose-built Inspector. Thickness is measured

in texture pixels so it stays predictable across sprite sizes. Sampling can run

in 4 directions for a blocky, pixel-art look or 8 directions for rounder

corners. The outline can sit outside the silhouette, inside it, or replace the

sprite entirely for silhouette and highlight effects. A built-in sine pulse

animates outline brightness without a single line of code.


The outline color is an HDR color, so with Bloom enabled it glows. This makes it

a natural fit for selection highlights, hover states, enemy telegraphs, pickup

indicators, stealth and detection cues, and card or unit highlights in strategy

games. It suits pixel art, hand-drawn and vector-style 2D alike.


Every setting is also exposed as a C# property, so you can drive the effect from

gameplay code in one line.


The package ships with full source for both the shaders and the C# component,

a demo scene, and an offline manual.


Built-in Render Pipeline and URP are supported. HDRP is not supported, because

HDRP has no 2D renderer and does not officially support SpriteRenderer.