Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


RequestIntoNativeArray

Retrieves data asynchronously from a GPU Graphics Buffer resource.
Read time 13 minutesLast updated 6 days ago

Definition

RequestIntoNativeArray<T>(NativeArray<T>, ComputeBuffer, Action<AsyncGPUReadbackRequest>)

Retrieves data asynchronously from a GPU Graphics Buffer resource.
public static AsyncGPUReadbackRequest RequestIntoNativeArray<T>(ref NativeArray<T> output, ComputeBuffer src, Action<AsyncGPUReadbackRequest> callback = null) where T : struct

Parameters

Reference to the NativeArray to write the data into. The NativeArray or underlying memory cannot be Disposed until the request is complete.

The GraphicsBuffer to read the data from.

An optional delegate Action to call after Unity completes the request. When Unity calls the delegate, it passes the completed request as a parameter to the Action.

Returns

Type

Description

AsyncGPUReadbackRequestReturns an AsyncGPUReadbackRequest that you can use to determine when the data is available. Otherwise, returns a request with an error.

Remarks

If the return value is a request with an error, calling AsyncGPUReadbackRequest.hasError returns true.
For texture data, the extents are checked against the size of the source texture. If graphics QualitySettings are set low enough to generate reduced size textures, then the reduced size must be requested. Use QualitySettings.masterTextureLimit to adjust the width and height (and x,y if required), by bit shifting right.
For texture data, use the SystemInfo.IsFormatSupported method with the GraphicsFormatUsage.ReadPixels flag to query if the format is supported.

RequestIntoNativeArray<T>(NativeArray<T>, ComputeBuffer, int, int, Action<AsyncGPUReadbackRequest>)

Retrieves data asynchronously from a GPU Graphics Buffer resource.
public static AsyncGPUReadbackRequest RequestIntoNativeArray<T>(ref NativeArray<T> output, ComputeBuffer src, int size, int offset, Action<AsyncGPUReadbackRequest> callback = null) where T : struct

Parameters

Reference to the NativeArray to write the data into. The NativeArray or underlying memory cannot be Disposed until the request is complete.

The GraphicsBuffer to read the data from.

size

The size, in bytes, of the data to retrieve from the GraphicsBuffer.

offset

Offset in bytes in the GraphicsBuffer.

An optional delegate Action to call after Unity completes the request. When Unity calls the delegate, it passes the completed request as a parameter to the Action.

Returns

Type

Description

AsyncGPUReadbackRequestReturns an AsyncGPUReadbackRequest that you can use to determine when the data is available. Otherwise, returns a request with an error.

Remarks

If the return value is a request with an error, calling AsyncGPUReadbackRequest.hasError returns true.
For texture data, the extents are checked against the size of the source texture. If graphics QualitySettings are set low enough to generate reduced size textures, then the reduced size must be requested. Use QualitySettings.masterTextureLimit to adjust the width and height (and x,y if required), by bit shifting right.
For texture data, use the SystemInfo.IsFormatSupported method with the GraphicsFormatUsage.ReadPixels flag to query if the format is supported.

RequestIntoNativeArray<T>(NativeArray<T>, GraphicsBuffer, Action<AsyncGPUReadbackRequest>)

Retrieves data asynchronously from a GPU Graphics Buffer resource.
public static AsyncGPUReadbackRequest RequestIntoNativeArray<T>(ref NativeArray<T> output, GraphicsBuffer src, Action<AsyncGPUReadbackRequest> callback = null) where T : struct

Parameters

Reference to the NativeArray to write the data into. The NativeArray or underlying memory cannot be Disposed until the request is complete.

The GraphicsBuffer to read the data from.

An optional delegate Action to call after Unity completes the request. When Unity calls the delegate, it passes the completed request as a parameter to the Action.

Returns

Type

Description

AsyncGPUReadbackRequestReturns an AsyncGPUReadbackRequest that you can use to determine when the data is available. Otherwise, returns a request with an error.

Remarks

If the return value is a request with an error, calling AsyncGPUReadbackRequest.hasError returns true.
For texture data, the extents are checked against the size of the source texture. If graphics QualitySettings are set low enough to generate reduced size textures, then the reduced size must be requested. Use QualitySettings.masterTextureLimit to adjust the width and height (and x,y if required), by bit shifting right.
For texture data, use the SystemInfo.IsFormatSupported method with the GraphicsFormatUsage.ReadPixels flag to query if the format is supported.

RequestIntoNativeArray<T>(NativeArray<T>, GraphicsBuffer, int, int, Action<AsyncGPUReadbackRequest>)

Retrieves data asynchronously from a GPU Graphics Buffer resource.
public static AsyncGPUReadbackRequest RequestIntoNativeArray<T>(ref NativeArray<T> output, GraphicsBuffer src, int size, int offset, Action<AsyncGPUReadbackRequest> callback = null) where T : struct

Parameters

Reference to the NativeArray to write the data into. The NativeArray or underlying memory cannot be Disposed until the request is complete.

The GraphicsBuffer to read the data from.

size

The size, in bytes, of the data to retrieve from the GraphicsBuffer.

offset

Offset in bytes in the GraphicsBuffer.

An optional delegate Action to call after Unity completes the request. When Unity calls the delegate, it passes the completed request as a parameter to the Action.

Returns

Type

Description

AsyncGPUReadbackRequestReturns an AsyncGPUReadbackRequest that you can use to determine when the data is available. Otherwise, returns a request with an error.

Remarks

If the return value is a request with an error, calling AsyncGPUReadbackRequest.hasError returns true.
For texture data, the extents are checked against the size of the source texture. If graphics QualitySettings are set low enough to generate reduced size textures, then the reduced size must be requested. Use QualitySettings.masterTextureLimit to adjust the width and height (and x,y if required), by bit shifting right.
For texture data, use the SystemInfo.IsFormatSupported method with the GraphicsFormatUsage.ReadPixels flag to query if the format is supported.

RequestIntoNativeArray<T>(NativeArray<T>, Texture, int, Action<AsyncGPUReadbackRequest>)

Retrieves data asynchronously from a GPU Texture resource.
public static AsyncGPUReadbackRequest RequestIntoNativeArray<T>(ref NativeArray<T> output, Texture src, int mipIndex = 0, Action<AsyncGPUReadbackRequest> callback = null) where T : struct

Parameters

Reference to the NativeArray to write the data into. The NativeArray or underlying memory cannot be Disposed until the request is complete.

The Texture resource to read the data from.

mipIndex

The index of the mipmap to fetch.

An optional delegate Action to call after Unity completes the request. When Unity calls the delegate, it passes the completed request as a parameter to the Action.

Returns

Type

Description

AsyncGPUReadbackRequestReturns an AsyncGPUReadbackRequest that you can use to determine when the data is available. Otherwise, returns a request with an error.

Remarks

If the return value is a request with an error, calling AsyncGPUReadbackRequest.hasError returns true.
For texture data, the extents are checked against the size of the source texture. If graphics QualitySettings are set low enough to generate reduced size textures, then the reduced size must be requested. Use QualitySettings.masterTextureLimit to adjust the width and height (and x,y if required), by bit shifting right.
For texture data, use the SystemInfo.IsFormatSupported method with the GraphicsFormatUsage.ReadPixels flag to query if the format is supported.

RequestIntoNativeArray<T>(NativeArray<T>, Texture, int, TextureFormat, Action<AsyncGPUReadbackRequest>)

Retrieves data asynchronously from a GPU Texture resource.
public static AsyncGPUReadbackRequest RequestIntoNativeArray<T>(ref NativeArray<T> output, Texture src, int mipIndex, TextureFormat dstFormat, Action<AsyncGPUReadbackRequest> callback = null) where T : struct

Parameters

Reference to the NativeArray to write the data into. The NativeArray or underlying memory cannot be Disposed until the request is complete.

The Texture resource to read the data from.

mipIndex

The index of the mipmap to fetch.

dstFormat

The target TextureFormat of the data. Conversion happens automatically if this format is different from the format stored on the GPU.

An optional delegate Action to call after Unity completes the request. When Unity calls the delegate, it passes the completed request as a parameter to the Action.

Returns

Type

Description

AsyncGPUReadbackRequestReturns an AsyncGPUReadbackRequest that you can use to determine when the data is available. Otherwise, returns a request with an error.

Remarks

If the return value is a request with an error, calling AsyncGPUReadbackRequest.hasError returns true.
For texture data, the extents are checked against the size of the source texture. If graphics QualitySettings are set low enough to generate reduced size textures, then the reduced size must be requested. Use QualitySettings.masterTextureLimit to adjust the width and height (and x,y if required), by bit shifting right.
For texture data, use the SystemInfo.IsFormatSupported method with the GraphicsFormatUsage.ReadPixels flag to query if the format is supported.

RequestIntoNativeArray<T>(NativeArray<T>, Texture, int, GraphicsFormat, Action<AsyncGPUReadbackRequest>)

Retrieves data asynchronously from a GPU Texture resource.
public static AsyncGPUReadbackRequest RequestIntoNativeArray<T>(ref NativeArray<T> output, Texture src, int mipIndex, GraphicsFormat dstFormat, Action<AsyncGPUReadbackRequest> callback = null) where T : struct

Parameters

Reference to the NativeArray to write the data into. The NativeArray or underlying memory cannot be Disposed until the request is complete.

The Texture resource to read the data from.

mipIndex

The index of the mipmap to fetch.

The target TextureFormat of the data. Conversion happens automatically if this format is different from the format stored on the GPU.

An optional delegate Action to call after Unity completes the request. When Unity calls the delegate, it passes the completed request as a parameter to the Action.

Returns

Type

Description

AsyncGPUReadbackRequestReturns an AsyncGPUReadbackRequest that you can use to determine when the data is available. Otherwise, returns a request with an error.

Remarks

If the return value is a request with an error, calling AsyncGPUReadbackRequest.hasError returns true.
For texture data, the extents are checked against the size of the source texture. If graphics QualitySettings are set low enough to generate reduced size textures, then the reduced size must be requested. Use QualitySettings.masterTextureLimit to adjust the width and height (and x,y if required), by bit shifting right.
For texture data, use the SystemInfo.IsFormatSupported method with the GraphicsFormatUsage.ReadPixels flag to query if the format is supported.

RequestIntoNativeArray<T>(NativeArray<T>, Texture, int, int, int, int, int, int, int, TextureFormat, Action<AsyncGPUReadbackRequest>)

Retrieves data asynchronously from a GPU Texture resource.
public static AsyncGPUReadbackRequest RequestIntoNativeArray<T>(ref NativeArray<T> output, Texture src, int mipIndex, int x, int width, int y, int height, int z, int depth, TextureFormat dstFormat, Action<AsyncGPUReadbackRequest> callback = null) where T : struct

Parameters

Reference to the NativeArray to write the data into. The NativeArray or underlying memory cannot be Disposed until the request is complete.

The Texture resource to read the data from.

mipIndex

The index of the mipmap to fetch.

The starting x-coordinate, in pixels, of the Texture data to fetch.

width

The width, in pixels, of the Texture data to fetch.

The starting y-coordinate, in pixels, of the Texture data to fetch.

height

The height, in pixels, of the Texture data to fetch.

The starting z-coordinate, in pixels, of the Texture3D to fetch. For TextureCube, Texture2DArray, and TextureCubeArray, this is the index of the start layer.

depth

The depth, in pixels of the Texture3D to fetch. For TextureCube, Texture2DArray, and TextureCubeArray, this is the number of layers to retrieve.

dstFormat

The target TextureFormat of the data. Conversion happens automatically if this format is different from the format stored on the GPU.

An optional delegate Action to call after Unity completes the request. When Unity calls the delegate, it passes the completed request as a parameter to the Action.

Returns

Type

Description

AsyncGPUReadbackRequestReturns an AsyncGPUReadbackRequest that you can use to determine when the data is available. Otherwise, returns a request with an error.

Remarks

If the return value is a request with an error, calling AsyncGPUReadbackRequest.hasError returns true.
For texture data, the extents are checked against the size of the source texture. If graphics QualitySettings are set low enough to generate reduced size textures, then the reduced size must be requested. Use QualitySettings.masterTextureLimit to adjust the width and height (and x,y if required), by bit shifting right.
For texture data, use the SystemInfo.IsFormatSupported method with the GraphicsFormatUsage.ReadPixels flag to query if the format is supported.

RequestIntoNativeArray<T>(NativeArray<T>, Texture, int, int, int, int, int, int, int, GraphicsFormat, Action<AsyncGPUReadbackRequest>)

Retrieves data asynchronously from a GPU Texture resource.
public static AsyncGPUReadbackRequest RequestIntoNativeArray<T>(ref NativeArray<T> output, Texture src, int mipIndex, int x, int width, int y, int height, int z, int depth, GraphicsFormat dstFormat, Action<AsyncGPUReadbackRequest> callback = null) where T : struct

Parameters

Reference to the NativeArray to write the data into. The NativeArray or underlying memory cannot be Disposed until the request is complete.

The Texture resource to read the data from.

mipIndex

The index of the mipmap to fetch.

The starting x-coordinate, in pixels, of the Texture data to fetch.

width

The width, in pixels, of the Texture data to fetch.

The starting y-coordinate, in pixels, of the Texture data to fetch.

height

The height, in pixels, of the Texture data to fetch.

The starting z-coordinate, in pixels, of the Texture3D to fetch. For TextureCube, Texture2DArray, and TextureCubeArray, this is the index of the start layer.

depth

The depth, in pixels of the Texture3D to fetch. For TextureCube, Texture2DArray, and TextureCubeArray, this is the number of layers to retrieve.

The target TextureFormat of the data. Conversion happens automatically if this format is different from the format stored on the GPU.

An optional delegate Action to call after Unity completes the request. When Unity calls the delegate, it passes the completed request as a parameter to the Action.

Returns

Type

Description

AsyncGPUReadbackRequestReturns an AsyncGPUReadbackRequest that you can use to determine when the data is available. Otherwise, returns a request with an error.

Remarks

If the return value is a request with an error, calling AsyncGPUReadbackRequest.hasError returns true.
For texture data, the extents are checked against the size of the source texture. If graphics QualitySettings are set low enough to generate reduced size textures, then the reduced size must be requested. Use QualitySettings.masterTextureLimit to adjust the width and height (and x,y if required), by bit shifting right.
For texture data, use the SystemInfo.IsFormatSupported method with the GraphicsFormatUsage.ReadPixels flag to query if the format is supported.