Version: 2019.4
  • C#


Suggest a change


Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.


Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.




public static NativeArray<byte> EncodeNativeArrayToEXR(NativeArray<T> input, Experimental.Rendering.GraphicsFormat format, uint width, uint height, uint rowBytes, Texture2D.EXRFlags flags);


array The native array to convert.
format The pixel format of the image data.
width The width of the image data in pixels.
height The height of the image data in pixels.
rowBytes The length of a single row in bytes.
flags Flags used to control compression and the output format.


Encodes this native array into the EXR format.

This function returns a NativeArray<byte> which is the EXR data. Write this data to disk to get the data in the EXR file format.

It is best to use this function for HDR texture formats (either 16-bit or 32-bit floats). The default output format is 16-bit float EXR.

The encoded EXR data will always contain an alpha channel.

This method is thread safe.

Passing rowBytes of 0 will calculate the row length in bytes automatically.

See Also: EXRFlags, EncodeNativeArrayToJPG, EncodeNativeArrayToPNG.