Skip to content

Instantly share code, notes, and snippets.

Created January 2, 2018 20:42
  • Star 13 You must be signed in to star a gist
  • Fork 4 You must be signed in to fork a gist
Star You must be signed in to star a gist
What would you like to do?
A simple stencil buffer masking shader for Unity
Shader "Custom/StencilMask" {
Properties {
_StencilMask("Stencil mask", Int) = 0
SubShader {
Tags {
"RenderType" = "Opaque"
"Queue" = "Geometry-100"
ColorMask 0
ZWrite off
Stencil {
Comp always
Pass replace
Pass {
#pragma vertex vert
#pragma fragment frag
struct appdata {
float4 vertex : POSITION;
struct v2f {
float4 pos : SV_POSITION;
v2f vert(appdata v) {
v2f o;
o.pos = UnityObjectToClipPos(v.vertex);
return o;
half4 frag(v2f i) : COLOR {
return half4(1, 1, 0, 1);
Copy link

works great.. thx heaps

Copy link

Will this work for urp?

Copy link

Good question @RandomVariable1470 - I wrote this a long time ago as an experiment. I haven’t maintained it since I’m afraid. If you find out , let us know!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment