# StencilState

> Creates a new stencil state with the given values.

## Definition

* **Type:** Constructor
* **Namespace:** [UnityEngine.Rendering](/engine/6000.0/script-reference/unityengine/rendering.md)
* **Assembly:** UnityEngine.CoreModule

## StencilState(bool, byte, byte, CompareFunction, StencilOp, StencilOp, StencilOp)

Creates a new stencil state with the given values.

```csharp
public StencilState(bool enabled = true, byte readMask = 255, byte writeMask = 255, CompareFunction compareFunction = CompareFunction.Always, StencilOp passOperation = StencilOp.Keep, StencilOp failOperation = StencilOp.Keep, StencilOp zFailOperation = StencilOp.Keep)
```

### Parameters

**** (\[bool]\(https\://learn.microsoft.com/dotnet/api/system.boolean)): Controls whether the stencil buffer is enabled.**** (\[byte]\(https\://learn.microsoft.com/dotnet/api/system.byte)): An 8 bit mask as an 0–255 integer, used when comparing the reference value with the contents of the buffer.**** (\[byte]\(https\://learn.microsoft.com/dotnet/api/system.byte)): An 8 bit mask as an 0–255 integer, used when writing to the buffer.**** (\[CompareFunction]\(/engine/6000.0/script-reference/unityengine/rendering/comparefunction)): The function used to compare the reference value to the current contents of the buffer.**** (\[StencilOp]\(/engine/6000.0/script-reference/unityengine/rendering/stencilop)): What to do with the contents of the buffer if the stencil test (and the depth test) passes.**** (\[StencilOp]\(/engine/6000.0/script-reference/unityengine/rendering/stencilop)): What to do with the contents of the buffer if the stencil test fails.**** (\[StencilOp]\(/engine/6000.0/script-reference/unityengine/rendering/stencilop)): What to do with the contents of the buffer if the stencil test passes, but the depth test.

## StencilState(bool, byte, byte, CompareFunction, StencilOp, StencilOp, StencilOp, CompareFunction, StencilOp, StencilOp, StencilOp)

Creates a new stencil state with the given values.

```csharp
public StencilState(bool enabled, byte readMask, byte writeMask, CompareFunction compareFunctionFront, StencilOp passOperationFront, StencilOp failOperationFront, StencilOp zFailOperationFront, CompareFunction compareFunctionBack, StencilOp passOperationBack, StencilOp failOperationBack, StencilOp zFailOperationBack)
```

### Parameters

**** (\[bool]\(https\://learn.microsoft.com/dotnet/api/system.boolean)): Controls whether the stencil buffer is enabled.**** (\[byte]\(https\://learn.microsoft.com/dotnet/api/system.byte)): An 8 bit mask as an 0–255 integer, used when comparing the reference value with the contents of the buffer.**** (\[byte]\(https\://learn.microsoft.com/dotnet/api/system.byte)): An 8 bit mask as an 0–255 integer, used when writing to the buffer.**** (\[CompareFunction]\(/engine/6000.0/script-reference/unityengine/rendering/comparefunction)): The function used to compare the reference value to the current contents of the buffer for front-facing geometry.**** (\[StencilOp]\(/engine/6000.0/script-reference/unityengine/rendering/stencilop)): What to do with the contents of the buffer if the stencil test (and the depth test) passes for front-facing geometry.**** (\[StencilOp]\(/engine/6000.0/script-reference/unityengine/rendering/stencilop)): What to do with the contents of the buffer if the stencil test fails for front-facing geometry.**** (\[StencilOp]\(/engine/6000.0/script-reference/unityengine/rendering/stencilop)): What to do with the contents of the buffer if the stencil test passes, but the depth test fails for front-facing geometry.**** (\[CompareFunction]\(/engine/6000.0/script-reference/unityengine/rendering/comparefunction)): The function used to compare the reference value to the current contents of the buffer for back-facing geometry.**** (\[StencilOp]\(/engine/6000.0/script-reference/unityengine/rendering/stencilop)): What to do with the contents of the buffer if the stencil test (and the depth test) passes for back-facing geometry.**** (\[StencilOp]\(/engine/6000.0/script-reference/unityengine/rendering/stencilop)): What to do with the contents of the buffer if the stencil test fails for back-facing geometry.**** (\[StencilOp]\(/engine/6000.0/script-reference/unityengine/rendering/stencilop)): What to do with the contents of the buffer if the stencil test passes, but the depth test fails for back-facing geometry.
