Changelog
// format follows Keep a Changelog
v1.0.0
2026-09-13
Added
Outline Styles
Soft — a blurred glow that grows and re-blurs the object's silhouette, for a halo that reads well over any background.
Hard — a cheap, crisp edge line with no blur pass at all, for the lowest possible cost.
Radius, gap, and thickness variation all scale automatically with screen resolution, so the outline reads as the same relative size at 1080p and 4K without manual tuning.
The line keeps the same width on screen at any distance, but the wave shrinks with the object as it moves away, so a distant enemy's outline keeps its shape instead of turning into spikes. No setting to learn — it just happens.
Zero-Cost Architecture
The outline costs nothing the moment nothing is selected — no texture allocated, no render pass added — instead of running every frame regardless like most screen-space outline effects.
The outline's passes are scissored to the selected object's on-screen area, not the full screen — cost scales with how much of the screen the outline actually covers, not with render resolution.
Selection is driven by a reserved rendering layer rather than your project's own Layer setup, so it drops into any project with no per-project configuration.
Channels
Up to 4 independent channels, each with its own color, style, and settings — show a different-colored outline for enemies vs interactables at the same time, with no interference between them.
A channel with nothing selected costs exactly as much as not having that channel at all.
Look Controls
Additive or Opaque blending — a glowing highlight that lets the background show through, or a solid painted line that fully replaces it. See the docs for when to use which.
Gap — push the outline out from the object's edge instead of sitting flush against it.
Wave — animate the outline's distance from the edge in a wave that travels around the object, with an optional stop-motion "stepped" mode instead of flowing smoothly. Wave speed can be changed while the game runs, so an outline can race like a heartbeat and settle back down smoothly.
Thickness Variation (Hard style) — make the line's own thickness vary unevenly around the outline instead of staying constant.
Visibility — show the outline through anything in front of the target (X-ray), let it be occluded normally, or show it only where something is covering the target, so it fades in as a character walks behind a wall and vanishes again in the clear.
Runtime API
Outliner.SetSelected(gameObject, true) — turn the outline on or off for any GameObject in one line, with no scene setup or pre-placed component required.A warning is logged (once, not every frame) if an object is selected on a channel that has no profile assigned, instead of silently rendering nothing.
Editor Tooling
A Setup Wizard automatically adds the Outline feature to your URP renderers on first import, and can be reopened any time from the Tools menu.
The Renderer Feature's Inspector shows one row per channel with a live status dot in Play mode, and a one-click + Add Channel button that creates and assigns a new profile automatically.
The Profile inspector shows exactly which Renderer assets and channels currently use it, with a button to jump straight to each one.
Selection can also be pre-wired directly in the Editor — add an Outline Target component and just toggle it — and previews correctly in the Scene view without needing to press Play.
The Outline Target inspector warns when an animated character's bounds may not follow its animation, which would cut part of its outline off, and fixes it in one click.
Included
A default outline profile ready to use out of the box — add the feature and it just works, no setup required.
A demo scene with an on-screen button panel that walks through every style, shape, visibility mode and channel, plus a glowing enemy outline and a heartbeat that speeds up and slows down.