Unity 6 · URP 17+ · RenderGraph

Bordercraft - Selection Outline for URP

Zero-cost selection outline for Unity

A screen-space selection outline — soft glow or hard edge — built natively on the URP RenderGraph API. Costs nothing the moment nothing is selected: no texture allocated, no pass enqueued, unlike outline effects that run every frame regardless.

Coming Soon to Asset Store Documentation Changelog
How it looks in the Editor

Bordercraft is still in development — the diagrams below are concept sketches of the actual UI, not final screenshots.

Add
Setup Wizard — scans your URP Renderer assets and adds the Outline feature in one click.
Channel 0 Channel 1 + Add Channel
Channel List — up to four independently-styled outlines, added one click at a time.
Soft Hard
Soft vs Hard — a blurred glow, or a crisp hard-edged line at half the render passes.
Channel 0 Channel 1
Several at Once — a different color per channel, shown simultaneously without interfering with each other.
Additive Opaque
Additive vs Opaque — a glow that lets the background show through, or a solid painted line.
full screen — not shaded scissor rect
Scissor Culling — every pass is clipped to the outlined object's on-screen rect, not the full frame.
in the clear — nothing drawn covered — outlined
Show Only When Hidden — the outline fades in on whatever part of the object something else is covering, and vanishes again once it's in the clear. No bookkeeping on your side.
waveFrequency = 0
Pulse — drop the wave's frequency to zero and the bumps stop travelling around the edge; the whole outline breathes in and out together instead, like a heartbeat.
Two styles, one system
Soft
Blurred Glow
Dilate (for gap/wave) + separable Gaussian blur + subtract — a soft halo that reads well over any background. 3 render passes.
Hard
Cheap Edge Line
Two-ring near/far tap directly against the raw silhouette — no blur pass at all. The lowest cost of the two styles.
Everything you need, nothing you don't
Zero-cost-when-idle
No object selected on a channel, no cost — no texture allocated, no pass enqueued. Most outline effects run every frame regardless.
Native RenderGraph API
Built on URP 17+ RenderGraph from the ground up — no legacy command buffers, no per-project Layer configuration required.
Up to 4 channels
Several independently-styled outlines at once — a different color for enemies vs interactables — each with its own zero-cost gate.
Resolution-independent scaling
Radius, gap, and wave calibrate at 1080p and scale automatically — reads the same relative size at any resolution.
Setup Wizard
One-click installation across every URP Renderer asset in your project, with a default profile assigned automatically.
One-line Runtime API
Outliner.SetSelected(go, true) — no scene setup, no pre-placed component required.
Control it from code
SelectionManager.cs
// Turn the outline on or off for any GameObject — no setup required
using Bordercraft;

void Highlight(GameObject go, bool isEnemy)
{
    // Route to a different channel/profile depending on object type
    Outliner.SetSelected(go, true, isEnemy ? 1 : 0);
}

void ClearHighlight(GameObject go)
{
    Outliner.SetSelected(go, false);
}
Tested on
RequirementMinimumNotes
Unity version 6000.0 (Unity 6) Tested on 6000.3 (LTS)
Render pipeline URP 17.0.0 Requires RenderGraph mode
Render path 3D Universal Renderer URP 2D Renderer not tested, not officially supported
Platforms All URP-supported platforms PC, Mobile — VR/XR not tested and not officially supported
Still in development

Bordercraft is still being built and has not been submitted to the Asset Store yet. The documentation is written and kept current as it changes — check back here or follow OwlHours for the release.

Coming Soon to Asset Store Read the docs