# FilteringSettings

> A struct that represents filtering settings for ScriptableRenderContext.DrawRenderers.

## Definition

* **Type:** Struct
* **Namespace:** [UnityEngine.Rendering](/engine/6000.6/script-reference/unityengine/rendering.md)
* **Assembly:** UnityEngine.CoreModule
* **Implements:** [IEquatable\<FilteringSettings>](https://learn.microsoft.com/dotnet/api/system.iequatable-1)

```csharp
public struct FilteringSettings : IEquatable<FilteringSettings>
```

## Remarks

A `FilteringSettings` struct describes how to filter the set of objects that [ScriptableRenderContext.DrawRenderers](/engine/6000.6/script-reference/unityengine/rendering/scriptablerendercontext/drawrenderers.md) receives, so that Unity draws a subset of them.

Additional Resources: [ScriptableRenderContext.DrawRenderers](/engine/6000.6/script-reference/unityengine/rendering/scriptablerendercontext/drawrenderers.md), Creating a simple render loop in a custom render pipeline.

## Constructors

| Constructor                                                                                                                                                                                            | Description                                                                                                                                                                                |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [FilteringSettings(System.Nullable\{UnityEngine.Rendering.RenderQueueRange},System.Int32,System.UInt32,System.Int32)](/engine/6000.6/script-reference/unityengine/rendering/filteringsettings/ctor.md) | Creates a `FilteringSettings` struct for use with [ScriptableRenderContext.DrawRenderers](/engine/6000.6/script-reference/unityengine/rendering/scriptablerendercontext/drawrenderers.md). |

## Properties

| Property                                                                                                                              | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| ------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [batchLayerMask](/engine/6000.6/script-reference/unityengine/rendering/filteringsettings/batchlayermask.md)                           | Represents which [BatchRendererGroup](/engine/6000.6/script-reference/unityengine/rendering/batchrenderergroup.md) batch layers to enable for rendering.                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| [excludeMotionVectorObjects](/engine/6000.6/script-reference/unityengine/rendering/filteringsettings/excludemotionvectorobjects.md)   | Determines if Unity excludes GameObjects that are in motion from rendering. This refers to GameObjects that have an active Motion Vector pass assigned to their Material or have set the Motion Vector mode to per object motion (Menu: Mesh Renderer > Additional Settings > Motion Vectors > Per Object Motion). For Unity to exclude a GameObject from rendering, the GameObject must have moved since the last frame. To exclude a GameObject manually, enable a [Motion Vector](/engine/6000.6/manual/assets-and-media/asset-types/mesh/components-reference/class-mesh-renderer.md) pass. |
| [forceAllMotionVectorObjects](/engine/6000.6/script-reference/unityengine/rendering/filteringsettings/forceallmotionvectorobjects.md) | Determines if Unity renders not moving GameObjects in motion vector pass. This refers to GameObjects that have an active Motion Vector pass assigned to their Material and did not move since the last frame. This flag can be used to render both moving objects and not moving objects in the motion vector pass to populate object motion data and scene depth data together.                                                                                                                                                                                                                |
| [layerMask](/engine/6000.6/script-reference/unityengine/rendering/filteringsettings/layermask.md)                                     | Unity renders objects whose [GameObject.layer](/engine/6000.6/script-reference/unityengine/gameobject/layer.md) value is enabled in this bit mask.                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| [renderingLayerMask](/engine/6000.6/script-reference/unityengine/rendering/filteringsettings/renderinglayermask.md)                   | Unity renders objects whose [Renderer.renderingLayerMask](/engine/6000.6/script-reference/unityengine/renderer/renderinglayermask.md) value is enabled in this bit mask.                                                                                                                                                                                                                                                                                                                                                                                                                        |
| [renderQueueRange](/engine/6000.6/script-reference/unityengine/rendering/filteringsettings/renderqueuerange.md)                       | Unity renders objects whose [Material.renderQueue](/engine/6000.6/script-reference/unityengine/material/renderqueue.md) value is within range specified by this [RenderQueueRange](/engine/6000.6/script-reference/unityengine/rendering/renderqueuerange.md).                                                                                                                                                                                                                                                                                                                                  |
| [sortingLayerRange](/engine/6000.6/script-reference/unityengine/rendering/filteringsettings/sortinglayerrange.md)                     | Unity renders objects whose [SortingLayer.value](/engine/6000.6/script-reference/unityengine/sortinglayer/value.md) value is within range specified by this [SortingLayerRange](/engine/6000.6/script-reference/unityengine/rendering/sortinglayerrange.md).                                                                                                                                                                                                                                                                                                                                    |

## Static Properties

| Property                                                                                                | Description                                                                                                                                            |
| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [defaultValue](/engine/6000.6/script-reference/unityengine/rendering/filteringsettings/defaultvalue.md) | Creates a `FilteringSettings` struct that contains default values for all properties. With these default values, Unity does not perform any filtering. |
