# RequestAsyncReadback

> Adds an asynchonous GPU readback request command to the command buffer.

## Definition

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

## RequestAsyncReadback(ComputeBuffer, Action\<AsyncGPUReadbackRequest>)

Adds an asynchonous GPU readback request command to the command buffer.

```csharp
public void RequestAsyncReadback(ComputeBuffer src, Action<AsyncGPUReadbackRequest> callback)
```

### Parameters

**** (\[ComputeBuffer]\(/engine/6000.0/script-reference/unityengine/computebuffer)): The resource to read the data from.**** (\[Action\<AsyncGPUReadbackRequest>]\(https\://learn.microsoft.com/dotnet/api/system.action)): A delegate Action called once the request is fullfilled. The done request is passed as parameter to the Action.

### Remarks

Additional Resources: [AsyncGPUReadback.Request](/engine/6000.0/script-reference/unityengine/rendering/asyncgpureadback/request.md).

## RequestAsyncReadback(GraphicsBuffer, Action\<AsyncGPUReadbackRequest>)

Adds an asynchonous GPU readback request command to the command buffer.

```csharp
public void RequestAsyncReadback(GraphicsBuffer src, Action<AsyncGPUReadbackRequest> callback)
```

### Parameters

**** (\[GraphicsBuffer]\(/engine/6000.0/script-reference/unityengine/graphicsbuffer)): The resource to read the data from.**** (\[Action\<AsyncGPUReadbackRequest>]\(https\://learn.microsoft.com/dotnet/api/system.action)): A delegate Action called once the request is fullfilled. The done request is passed as parameter to the Action.

### Remarks

Additional Resources: [AsyncGPUReadback.Request](/engine/6000.0/script-reference/unityengine/rendering/asyncgpureadback/request.md).

## RequestAsyncReadback(ComputeBuffer, int, int, Action\<AsyncGPUReadbackRequest>)

Adds an asynchonous GPU readback request command to the command buffer.

```csharp
public void RequestAsyncReadback(ComputeBuffer src, int size, int offset, Action<AsyncGPUReadbackRequest> callback)
```

### Parameters

**** (\[ComputeBuffer]\(/engine/6000.0/script-reference/unityengine/computebuffer)): The resource to read the data from.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Size in bytes of the data to be retrieved from the [ComputeBuffer](/engine/6000.0/script-reference/unityengine/computebuffer.md) or [GraphicsBuffer](/engine/6000.0/script-reference/unityengine/graphicsbuffer.md).**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Offset in bytes in the [ComputeBuffer](/engine/6000.0/script-reference/unityengine/computebuffer.md) or [GraphicsBuffer](/engine/6000.0/script-reference/unityengine/graphicsbuffer.md).**** (\[Action\<AsyncGPUReadbackRequest>]\(https\://learn.microsoft.com/dotnet/api/system.action)): A delegate Action called once the request is fullfilled. The done request is passed as parameter to the Action.

### Remarks

Additional Resources: [AsyncGPUReadback.Request](/engine/6000.0/script-reference/unityengine/rendering/asyncgpureadback/request.md).

## RequestAsyncReadback(GraphicsBuffer, int, int, Action\<AsyncGPUReadbackRequest>)

Adds an asynchonous GPU readback request command to the command buffer.

```csharp
public void RequestAsyncReadback(GraphicsBuffer src, int size, int offset, Action<AsyncGPUReadbackRequest> callback)
```

### Parameters

**** (\[GraphicsBuffer]\(/engine/6000.0/script-reference/unityengine/graphicsbuffer)): The resource to read the data from.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Size in bytes of the data to be retrieved from the [ComputeBuffer](/engine/6000.0/script-reference/unityengine/computebuffer.md) or [GraphicsBuffer](/engine/6000.0/script-reference/unityengine/graphicsbuffer.md).**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Offset in bytes in the [ComputeBuffer](/engine/6000.0/script-reference/unityengine/computebuffer.md) or [GraphicsBuffer](/engine/6000.0/script-reference/unityengine/graphicsbuffer.md).**** (\[Action\<AsyncGPUReadbackRequest>]\(https\://learn.microsoft.com/dotnet/api/system.action)): A delegate Action called once the request is fullfilled. The done request is passed as parameter to the Action.

### Remarks

Additional Resources: [AsyncGPUReadback.Request](/engine/6000.0/script-reference/unityengine/rendering/asyncgpureadback/request.md).

## RequestAsyncReadback(Texture, Action\<AsyncGPUReadbackRequest>)

Adds an asynchonous GPU readback request command to the command buffer.

```csharp
public void RequestAsyncReadback(Texture src, Action<AsyncGPUReadbackRequest> callback)
```

### Parameters

**** (\[Texture]\(/engine/6000.0/script-reference/unityengine/texture)): The resource to read the data from.**** (\[Action\<AsyncGPUReadbackRequest>]\(https\://learn.microsoft.com/dotnet/api/system.action)): A delegate Action called once the request is fullfilled. The done request is passed as parameter to the Action.

### Remarks

Additional Resources: [AsyncGPUReadback.Request](/engine/6000.0/script-reference/unityengine/rendering/asyncgpureadback/request.md).

## RequestAsyncReadback(Texture, int, Action\<AsyncGPUReadbackRequest>)

Adds an asynchonous GPU readback request command to the command buffer.

```csharp
public void RequestAsyncReadback(Texture src, int mipIndex, Action<AsyncGPUReadbackRequest> callback)
```

### Parameters

**** (\[Texture]\(/engine/6000.0/script-reference/unityengine/texture)): The resource to read the data from.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The index of the mipmap to be fetched.**** (\[Action\<AsyncGPUReadbackRequest>]\(https\://learn.microsoft.com/dotnet/api/system.action)): A delegate Action called once the request is fullfilled. The done request is passed as parameter to the Action.

### Remarks

Additional Resources: [AsyncGPUReadback.Request](/engine/6000.0/script-reference/unityengine/rendering/asyncgpureadback/request.md).

## RequestAsyncReadback(Texture, int, TextureFormat, Action\<AsyncGPUReadbackRequest>)

Adds an asynchonous GPU readback request command to the command buffer.

```csharp
public void RequestAsyncReadback(Texture src, int mipIndex, TextureFormat dstFormat, Action<AsyncGPUReadbackRequest> callback)
```

### Parameters

**** (\[Texture]\(/engine/6000.0/script-reference/unityengine/texture)): The resource to read the data from.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The index of the mipmap to be fetched.**** (\[TextureFormat]\(/engine/6000.0/script-reference/unityengine/textureformat)): The target [TextureFormat](/engine/6000.0/script-reference/unityengine/textureformat.md) of the data. Conversion will happen automatically if format is different from the format stored on GPU.**** (\[Action\<AsyncGPUReadbackRequest>]\(https\://learn.microsoft.com/dotnet/api/system.action)): A delegate Action called once the request is fullfilled. The done request is passed as parameter to the Action.

### Remarks

Additional Resources: [AsyncGPUReadback.Request](/engine/6000.0/script-reference/unityengine/rendering/asyncgpureadback/request.md).

## RequestAsyncReadback(Texture, int, GraphicsFormat, Action\<AsyncGPUReadbackRequest>)

Adds an asynchonous GPU readback request command to the command buffer.

```csharp
public void RequestAsyncReadback(Texture src, int mipIndex, GraphicsFormat dstFormat, Action<AsyncGPUReadbackRequest> callback)
```

### Parameters

**** (\[Texture]\(/engine/6000.0/script-reference/unityengine/texture)): The resource to read the data from.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The index of the mipmap to be fetched.**** (\[GraphicsFormat]\(/engine/6000.0/script-reference/unityengine/experimental/rendering/graphicsformat)): The target [TextureFormat](/engine/6000.0/script-reference/unityengine/textureformat.md) of the data. Conversion will happen automatically if format is different from the format stored on GPU.**** (\[Action\<AsyncGPUReadbackRequest>]\(https\://learn.microsoft.com/dotnet/api/system.action)): A delegate Action called once the request is fullfilled. The done request is passed as parameter to the Action.

### Remarks

Additional Resources: [AsyncGPUReadback.Request](/engine/6000.0/script-reference/unityengine/rendering/asyncgpureadback/request.md).

## RequestAsyncReadback(Texture, int, int, int, int, int, int, int, Action\<AsyncGPUReadbackRequest>)

Adds an asynchonous GPU readback request command to the command buffer.

```csharp
public void RequestAsyncReadback(Texture src, int mipIndex, int x, int width, int y, int height, int z, int depth, Action<AsyncGPUReadbackRequest> callback)
```

### Parameters

**** (\[Texture]\(/engine/6000.0/script-reference/unityengine/texture)): The resource to read the data from.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The index of the mipmap to be fetched.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Starting X coordinate in pixels of the Texture data to be fetched.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Width in pixels of the Texture data to be fetched.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Starting Y coordinate in pixels of the Texture data to be fetched.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Height in pixels of the Texture data to be fetched.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Start Z coordinate in pixels for the [Texture3D](/engine/6000.0/script-reference/unityengine/texture3d.md) being fetched. Index of Start layer for TextureCube, [Texture2DArray](/engine/6000.0/script-reference/unityengine/texture2darray.md) and TextureCubeArray being fetched.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Depth in pixels for [Texture3D](/engine/6000.0/script-reference/unityengine/texture3d.md) being fetched. Number of layers for TextureCube, TextureArray and TextureCubeArray.**** (\[Action\<AsyncGPUReadbackRequest>]\(https\://learn.microsoft.com/dotnet/api/system.action)): A delegate Action called once the request is fullfilled. The done request is passed as parameter to the Action.

### Remarks

Additional Resources: [AsyncGPUReadback.Request](/engine/6000.0/script-reference/unityengine/rendering/asyncgpureadback/request.md).

## RequestAsyncReadback(Texture, int, int, int, int, int, int, int, TextureFormat, Action\<AsyncGPUReadbackRequest>)

Adds an asynchonous GPU readback request command to the command buffer.

```csharp
public void RequestAsyncReadback(Texture src, int mipIndex, int x, int width, int y, int height, int z, int depth, TextureFormat dstFormat, Action<AsyncGPUReadbackRequest> callback)
```

### Parameters

**** (\[Texture]\(/engine/6000.0/script-reference/unityengine/texture)): The resource to read the data from.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The index of the mipmap to be fetched.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Starting X coordinate in pixels of the Texture data to be fetched.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Width in pixels of the Texture data to be fetched.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Starting Y coordinate in pixels of the Texture data to be fetched.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Height in pixels of the Texture data to be fetched.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Start Z coordinate in pixels for the [Texture3D](/engine/6000.0/script-reference/unityengine/texture3d.md) being fetched. Index of Start layer for TextureCube, [Texture2DArray](/engine/6000.0/script-reference/unityengine/texture2darray.md) and TextureCubeArray being fetched.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Depth in pixels for [Texture3D](/engine/6000.0/script-reference/unityengine/texture3d.md) being fetched. Number of layers for TextureCube, TextureArray and TextureCubeArray.**** (\[TextureFormat]\(/engine/6000.0/script-reference/unityengine/textureformat)): The target [TextureFormat](/engine/6000.0/script-reference/unityengine/textureformat.md) of the data. Conversion will happen automatically if format is different from the format stored on GPU.**** (\[Action\<AsyncGPUReadbackRequest>]\(https\://learn.microsoft.com/dotnet/api/system.action)): A delegate Action called once the request is fullfilled. The done request is passed as parameter to the Action.

### Remarks

Additional Resources: [AsyncGPUReadback.Request](/engine/6000.0/script-reference/unityengine/rendering/asyncgpureadback/request.md).

## RequestAsyncReadback(Texture, int, int, int, int, int, int, int, GraphicsFormat, Action\<AsyncGPUReadbackRequest>)

Adds an asynchonous GPU readback request command to the command buffer.

```csharp
public void RequestAsyncReadback(Texture src, int mipIndex, int x, int width, int y, int height, int z, int depth, GraphicsFormat dstFormat, Action<AsyncGPUReadbackRequest> callback)
```

### Parameters

**** (\[Texture]\(/engine/6000.0/script-reference/unityengine/texture)): The resource to read the data from.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The index of the mipmap to be fetched.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Starting X coordinate in pixels of the Texture data to be fetched.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Width in pixels of the Texture data to be fetched.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Starting Y coordinate in pixels of the Texture data to be fetched.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Height in pixels of the Texture data to be fetched.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Start Z coordinate in pixels for the [Texture3D](/engine/6000.0/script-reference/unityengine/texture3d.md) being fetched. Index of Start layer for TextureCube, [Texture2DArray](/engine/6000.0/script-reference/unityengine/texture2darray.md) and TextureCubeArray being fetched.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Depth in pixels for [Texture3D](/engine/6000.0/script-reference/unityengine/texture3d.md) being fetched. Number of layers for TextureCube, TextureArray and TextureCubeArray.**** (\[GraphicsFormat]\(/engine/6000.0/script-reference/unityengine/experimental/rendering/graphicsformat)): The target [TextureFormat](/engine/6000.0/script-reference/unityengine/textureformat.md) of the data. Conversion will happen automatically if format is different from the format stored on GPU.**** (\[Action\<AsyncGPUReadbackRequest>]\(https\://learn.microsoft.com/dotnet/api/system.action)): A delegate Action called once the request is fullfilled. The done request is passed as parameter to the Action.

### Remarks

Additional Resources: [AsyncGPUReadback.Request](/engine/6000.0/script-reference/unityengine/rendering/asyncgpureadback/request.md).
