> For the complete documentation index, see [llms.txt](https://amazing-assets.gitbook.io/wireframe-shader/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://amazing-assets.gitbook.io/wireframe-shader/wireframe-shader.md).

# Wireframe Shader

[**Wireframe Shader**](https://assetstore.unity.com/packages/vfx/shaders/wireframe-shader-181386?aid=1011lvgVb) is a comprehensive solution for rendering high-quality wireframe effects in Unity and includes three workflows for different platforms, pipelines, and production needs.

### 1. Classic Wireframe Rendering

A reliable and highly compatible method that utilizes pre-baked wireframe data stored within the mesh.

<figure><img src="/files/5f8dSZuKIIoopuqxuIaM" alt=""><figcaption></figcaption></figure>

* ![](/files/0t7kBg95Fl4UBTFdId6V) Supports all devices, including legacy mobile devices, WebGL, VR, consoles and PC.
* ![](/files/0t7kBg95Fl4UBTFdId6V) Compatible with **Shader Graph**, [**Amplify Shader Editor**](https://assetstore.unity.com/packages/tools/visual-scripting/amplify-shader-editor-68570?aid=1011lvgVb) and custom hand-written shaders.
* ![](/files/Orom7rslcF1zuPwY0sq5) Requires generating a new mesh with wireframe data baked inside it.

### 2. Dynamic Wireframe Shader

A modern approach that generates the wireframe effect entirely on the GPU.

{% embed url="<https://www.youtube.com/watch?v=Zhk6c-qSJc8>" %}
[<mark style="color:$warning;">**Tokyo Street**</mark> <mark style="color:blue;">**by Art Equilibrium**</mark>](https://assetstore.unity.com/packages/3d/environments/urban/tokyo-street-228474?aid=1011lvgVb)
{% endembed %}

* ![](/files/0t7kBg95Fl4UBTFdId6V) Wireframe effect is entirely calculated and rendered by a shader. No mesh generation, preprocessing or modification required.
* ![](/files/0t7kBg95Fl4UBTFdId6V) Compatible with **Shader Graph**.
* ![](/files/Orom7rslcF1zuPwY0sq5) Doesn't support [**Amplify Shader Editor**](https://assetstore.unity.com/packages/tools/visual-scripting/amplify-shader-editor-68570?aid=1011lvgVb) and custom hand-written shaders.
* ![](/files/Orom7rslcF1zuPwY0sq5) Requires hardware support for tessellation.

####

### 3. Wireframe Texture Generation

Generate wireframe textures based on mesh UV.

<figure><img src="/files/JrWMyxI619j7pXEQQBGl" alt=""><figcaption></figcaption></figure>

* ![](/files/0t7kBg95Fl4UBTFdId6V) Being a common texture file, can be used with any material inside Unity, or in external Apps.
* ![](/files/0t7kBg95Fl4UBTFdId6V) Works in editor and runtime.
* ![](/files/Orom7rslcF1zuPwY0sq5) Not all meshes may be suitable. Requires mesh with non-overlapping UV layouts.

###

### Which option should I use?

<table><thead><tr><th width="223.14996337890625" valign="top">Method</th><th valign="top">Best For</th><th valign="top">Requirements</th></tr></thead><tbody><tr><td valign="top"><sup><strong>Classic Wireframe Rendering</strong></sup></td><td valign="top"><sup>Maximum compatibility across all devices, render pipelines, and shader workflows.</sup></td><td valign="top"><sup>Generate a new mesh with wireframe data baked inside it.</sup></td></tr><tr><td valign="top"><sup><strong>Dynamic Wireframe Shader</strong></sup></td><td valign="top"><sup>Fast <strong>Shader Graph</strong> setup with no mesh preprocessing.</sup></td><td valign="top"><sup>Use <strong>Shader Graph</strong> and a tessellation-capable device.</sup></td></tr><tr><td valign="top"><sup><strong>Wireframe Texture Generation</strong></sup></td><td valign="top"><sup>Creating reusable wireframe textures for Unity materials or external apps.</sup></td><td valign="top"><sup>Use a mesh with non-overlapping UV layouts.</sup></td></tr></tbody></table>

### Choose your workflow

<table data-view="cards"><thead><tr><th align="center"></th><th data-hidden data-card-cover data-type="image">Cover image</th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td align="center">Classic Wireframe Rendering</td><td><a href="/files/vGhd44ZtD9V0X1HouBzK">/files/vGhd44ZtD9V0X1HouBzK</a></td><td><a href="/pages/aEFs5QEjPQPtKBl1qQQr">/pages/aEFs5QEjPQPtKBl1qQQr</a></td></tr><tr><td align="center"><p>Dynamic Wireframe </p><p>Shader</p></td><td><a href="/files/Q8ZS43ZAhJlbZYopWf4u">/files/Q8ZS43ZAhJlbZYopWf4u</a></td><td><a href="/pages/3jztWVB14qYbdc3O4u14">/pages/3jztWVB14qYbdc3O4u14</a></td></tr><tr><td align="center">Wireframe Texture Generation</td><td><a href="/files/JrWMyxI619j7pXEQQBGl">/files/JrWMyxI619j7pXEQQBGl</a></td><td><a href="/pages/TOUHET8M4uxBU2QmTlBI">/pages/TOUHET8M4uxBU2QmTlBI</a></td></tr></tbody></table>
