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.
Preview
How it looks in the Editor
Bordercraft is still in development — the diagrams below are concept sketches of the actual UI, not final screenshots.
Setup Wizard — scans your URP Renderer assets and adds the Outline feature in one click.
Channel List — up to four independently-styled outlines, added one click at a time.
Soft vs Hard — a blurred glow, or a crisp hard-edged line at half the render passes.
Several at Once — a different color per channel, shown simultaneously without interfering with each other.
Additive vs Opaque — a glow that lets the background show through, or a solid painted line.
Scissor Culling — every pass is clipped to the outlined object's on-screen rect, not the full frame.
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.
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.
Outline styles
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.
What's included
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.Runtime API
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); }
Requirements
Tested on
| Requirement | Minimum | Notes |
|---|---|---|
| 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 |
Get notified
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