# BeginSubPass

> Schedules the beginning of a new sub pass within a render pass. Render passes can never be standalone, they must always contain at least one sub pass. Only one sub pass can be active at any time.

## Definition

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

## BeginSubPass(NativeArray\<int>, NativeArray\<int>, bool, bool)

Schedules the beginning of a new sub pass within a render pass. Render passes can never be standalone, they must always contain at least one sub pass. Only one sub pass can be active at any time.

```csharp
public void BeginSubPass(NativeArray<int> colors, NativeArray<int> inputs, bool isDepthReadOnly, bool isStencilReadOnly)
```

### Parameters

**** (\[NativeArray\<int>]\(/engine/6000.6/script-reference/unity/collections/nativearray1)): Array of attachments to be used as the color render targets in this sub pass. These are specificed as indices into the array passed to [ScriptableRenderContext.BeginRenderPass](/engine/6000.6/script-reference/unityengine/rendering/scriptablerendercontext/beginrenderpass.md).**** (\[NativeArray\<int>]\(/engine/6000.6/script-reference/unity/collections/nativearray1)): Array of attachments to be used as input attachments in this sub pass. These are specificed as indices into the array passed to [ScriptableRenderContext.BeginRenderPass](/engine/6000.6/script-reference/unityengine/rendering/scriptablerendercontext/beginrenderpass.md).**** (\[bool]\(https\://learn.microsoft.com/dotnet/api/system.boolean)): If true, the depth attachment is read-only in this sub pass. Some renderers require this in order to be able to use the depth attachment as input.**** (\[bool]\(https\://learn.microsoft.com/dotnet/api/system.boolean)): If true, the stencil attachment is read-only in this sub pass. Some renderers require this in order to be able to use the stencil attachment as input.

### Remarks

Additional Resources: [ScriptableRenderContext.EndSubPass](/engine/6000.6/script-reference/unityengine/rendering/scriptablerendercontext/endsubpass.md), [ScriptableRenderContext.BeginRenderPass](/engine/6000.6/script-reference/unityengine/rendering/scriptablerendercontext/beginrenderpass.md), [ScriptableRenderContext.BeginScopedSubPass](/engine/6000.6/script-reference/unityengine/rendering/scriptablerendercontext/beginscopedsubpass.md), [ScriptableRenderContext.BeginScopedRenderPass](/engine/6000.6/script-reference/unityengine/rendering/scriptablerendercontext/beginscopedrenderpass.md).

## BeginSubPass(NativeArray\<int>, NativeArray\<int>, bool)

Schedules the beginning of a new sub pass within a render pass. Render passes can never be standalone, they must always contain at least one sub pass. Only one sub pass can be active at any time.

```csharp
public void BeginSubPass(NativeArray<int> colors, NativeArray<int> inputs, bool isDepthStencilReadOnly = false)
```

### Parameters

**** (\[NativeArray\<int>]\(/engine/6000.6/script-reference/unity/collections/nativearray1)): Array of attachments to be used as the color render targets in this sub pass. These are specificed as indices into the array passed to [ScriptableRenderContext.BeginRenderPass](/engine/6000.6/script-reference/unityengine/rendering/scriptablerendercontext/beginrenderpass.md).**** (\[NativeArray\<int>]\(/engine/6000.6/script-reference/unity/collections/nativearray1)): Array of attachments to be used as input attachments in this sub pass. These are specificed as indices into the array passed to [ScriptableRenderContext.BeginRenderPass](/engine/6000.6/script-reference/unityengine/rendering/scriptablerendercontext/beginrenderpass.md).**** (\[bool]\(https\://learn.microsoft.com/dotnet/api/system.boolean)): If true, both depth and stencil attachments are read-only in this sub pass. Some renderers require this in order to be able to use the depth and stencil attachments as inputs.

### Remarks

Additional Resources: [ScriptableRenderContext.EndSubPass](/engine/6000.6/script-reference/unityengine/rendering/scriptablerendercontext/endsubpass.md), [ScriptableRenderContext.BeginRenderPass](/engine/6000.6/script-reference/unityengine/rendering/scriptablerendercontext/beginrenderpass.md), [ScriptableRenderContext.BeginScopedSubPass](/engine/6000.6/script-reference/unityengine/rendering/scriptablerendercontext/beginscopedsubpass.md), [ScriptableRenderContext.BeginScopedRenderPass](/engine/6000.6/script-reference/unityengine/rendering/scriptablerendercontext/beginscopedrenderpass.md).

## BeginSubPass(NativeArray\<int>, bool, bool)

Schedules the beginning of a new sub pass within a render pass. Render passes can never be standalone, they must always contain at least one sub pass. Only one sub pass can be active at any time.

```csharp
public void BeginSubPass(NativeArray<int> colors, bool isDepthReadOnly, bool isStencilReadOnly)
```

### Parameters

**** (\[NativeArray\<int>]\(/engine/6000.6/script-reference/unity/collections/nativearray1)): Array of attachments to be used as the color render targets in this sub pass. These are specificed as indices into the array passed to [ScriptableRenderContext.BeginRenderPass](/engine/6000.6/script-reference/unityengine/rendering/scriptablerendercontext/beginrenderpass.md).**** (\[bool]\(https\://learn.microsoft.com/dotnet/api/system.boolean)): If true, the depth attachment is read-only in this sub pass. Some renderers require this in order to be able to use the depth attachment as input.**** (\[bool]\(https\://learn.microsoft.com/dotnet/api/system.boolean)): If true, the stencil attachment is read-only in this sub pass. Some renderers require this in order to be able to use the stencil attachment as input.

### Remarks

Additional Resources: [ScriptableRenderContext.EndSubPass](/engine/6000.6/script-reference/unityengine/rendering/scriptablerendercontext/endsubpass.md), [ScriptableRenderContext.BeginRenderPass](/engine/6000.6/script-reference/unityengine/rendering/scriptablerendercontext/beginrenderpass.md), [ScriptableRenderContext.BeginScopedSubPass](/engine/6000.6/script-reference/unityengine/rendering/scriptablerendercontext/beginscopedsubpass.md), [ScriptableRenderContext.BeginScopedRenderPass](/engine/6000.6/script-reference/unityengine/rendering/scriptablerendercontext/beginscopedrenderpass.md).

## BeginSubPass(NativeArray\<int>, bool)

Schedules the beginning of a new sub pass within a render pass. Render passes can never be standalone, they must always contain at least one sub pass. Only one sub pass can be active at any time.

```csharp
public void BeginSubPass(NativeArray<int> colors, bool isDepthStencilReadOnly = false)
```

### Parameters

**** (\[NativeArray\<int>]\(/engine/6000.6/script-reference/unity/collections/nativearray1)): Array of attachments to be used as the color render targets in this sub pass. These are specificed as indices into the array passed to [ScriptableRenderContext.BeginRenderPass](/engine/6000.6/script-reference/unityengine/rendering/scriptablerendercontext/beginrenderpass.md).**** (\[bool]\(https\://learn.microsoft.com/dotnet/api/system.boolean)): If true, both depth and stencil attachments are read-only in this sub pass. Some renderers require this in order to be able to use the depth and stencil attachments as inputs.

### Remarks

Additional Resources: [ScriptableRenderContext.EndSubPass](/engine/6000.6/script-reference/unityengine/rendering/scriptablerendercontext/endsubpass.md), [ScriptableRenderContext.BeginRenderPass](/engine/6000.6/script-reference/unityengine/rendering/scriptablerendercontext/beginrenderpass.md), [ScriptableRenderContext.BeginScopedSubPass](/engine/6000.6/script-reference/unityengine/rendering/scriptablerendercontext/beginscopedsubpass.md), [ScriptableRenderContext.BeginScopedRenderPass](/engine/6000.6/script-reference/unityengine/rendering/scriptablerendercontext/beginscopedrenderpass.md).
