# UpdateInstanceMask

> Updates the instance mask of a ray tracing instance.

## Definition

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

## UpdateInstanceMask(Renderer, uint)

Updates the instance mask of a ray tracing instance.

```csharp
public void UpdateInstanceMask(Renderer renderer, uint mask)
```

### Parameters

**** (\[Renderer]\(/engine/6000.6/script-reference/unityengine/renderer)): The Renderer associated with the ray tracing instance.**** (\[uint]\(https\://learn.microsoft.com/dotnet/api/system.uint32)): The new mask.

## UpdateInstanceMask(int, uint)

Updates the instance mask of a ray tracing instance.

```csharp
public void UpdateInstanceMask(int handle, uint mask)
```

### Parameters

**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The handle associated with an AABB or Mesh ray tracing instance.**** (\[uint]\(https\://learn.microsoft.com/dotnet/api/system.uint32)): The new mask.

### Remarks

Pass along a new mask and the handle [RayTracingAccelerationStructure.AddInstance](/engine/6000.6/script-reference/unityengine/rendering/raytracingaccelerationstructure/addinstance.md) returns in order to update ray tracing mask associated with an axis-aligned bounding box (AABB) [GraphicsBuffer](/engine/6000.6/script-reference/unityengine/graphicsbuffer.md) or a [Mesh](/engine/6000.6/script-reference/unityengine/mesh.md).

Ray tracing instances in the acceleration structure contain an 8-bit user defined instance mask. The `TraceRay()` HLSL function has an 8-bit input parameter, `InstanceInclusionMask` which gets ANDed with the instance mask from any ray tracing instance that is a candidate for intersection during acceleration structure traversal on the GPU. If the result of the AND operation is zero, the GPU ignores the intersection.

Note that building the acceleration structure on the GPU has to be triggered by calling [RayTracingAccelerationStructure.Build](/engine/6000.6/script-reference/unityengine/rendering/raytracingaccelerationstructure/build.md) or [CommandBuffer.BuildRayTracingAccelerationStructure](/engine/6000.6/script-reference/unityengine/rendering/commandbuffer/buildraytracingaccelerationstructure.md).

Additional Resources: [RayTracingAccelerationStructure.AddInstance](/engine/6000.6/script-reference/unityengine/rendering/raytracingaccelerationstructure/addinstance.md), [RayTracingAccelerationStructure.RemoveInstance](/engine/6000.6/script-reference/unityengine/rendering/raytracingaccelerationstructure/removeinstance.md).
