# Camera Frame Access

Camera frame access allows developers to retrieve raw camera data in real time.

## How to enable the feature

In order to use Camera Frame Access, enable the OpenXR plugin settings located under **Project Settings &gt; XR Plug-in Management &gt; OpenXR (&gt; Android Tab) &gt; OpenXR Feature Groups &gt; Snapdragon Spaces &gt; Camera Access**.

![../../_images/enable-camera-frame-access-spaces.png](data:image/png;base64,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)

Note

This feature is not currently available for Android XR devices!

## Feature Settings

![../../_images/camera-frame-access-feature-settings.png](data:image/png;base64,UklGRsQWAABXRUJQVlA4TLgWAAAvqEFDAGU4biRJkTL8N3tx4OAZERPgz9jTaZyYb9lWOdfkVJQycSs7kXkPZPbDii7L/ru9v6U7607Den/QZY4hU/ZU98coV48HuA6CjG/oCBIFIfIP96ltt23btm3dWIAPIwaMGDBiwIgBIwaMGDBiwozp3lIqpdZ+Gi0Pi+j/BHi1bVtyZNvaXmHBDQV20ksg7XwlHbS990nsZLENCk4oOOCEBg06nMEmDGiPcOB4L5nk7pKKy7SziOj/BHz/4/B5fH5+Hn78/seRvZ6fe8afBvQcZfi8f5LsP496lo7/dOTnb/l3LyUz32Oer6NmLlczZOZ8PVm3hGGRhnprpUulXEnJQWpXU3rfEkrT+15JnXW9y6BrbmUZNgTlfNJqZpd65iL1mrlIWjLnWW3OuWRmlXrm3KU5MweV3jKHkyHrSa+Zi9QyU1LPnFUzF2nObMpBUulaLZlZVXrLPmTOUslMqc0518wsa6l5ljRndikzi+bMLvXMqpY5Pya73c93u7dRzyK1lJYiSa2qL1Kf1WcpZ7VFp8OiuUu9qy5SSZWsmtuJtOQg9UXqsyTNs/osqXSpzsMi6UxbkzQsKlm1LBpSwyKVprbotPSV2jQs0twlKYuk2qS51iapdD2ca7tp2k3T7m2krGpValUlM6t6kUpXSppntSqpZy7qRSpdrUrqpXSp9DUNWdSLVLqGzJyVkjRnZnYtXWdLP9MzF5UutSotQ83MXNSqpCVzrRepF/UiqXRJapmZbchZUrYH5ee7aZp2P3+r0s+URWpnmpZLetWwqA8XDa9QbWttSGk+N2u1ZFtTDiu9anhF0+nJUlRWhjxtr6hanbNKNefH5Oe7affzN6lFmtu5LmVVb9JStVQpzxTNi1qTelddpLLoknmQ2qzepKUOi7TM6rOkkmsaFuVwMqekpl40XzbkcMGgtjI3SUNq7pKURVJd1lSbpNIfk900Tbs30ZLZdUZLZjvJbNKQmfNazWyLtGTOXZozUxcpM5vUW2aTemabpSVz1pyZdcjMckY1M6tqZrtMNTPnlTlzbSmS1KtaZteQmUUtM0vNTJXMHB6S3TTtpmn3Jm/ai96xNr19L9p2136+2/18t/v5Pci6eV1+OzUzZz0Vtvp/jvK2/+CHZ+k44ufot3vx/m8E/ALg3wL4BtH9OfgT4G+h7vyArZz8iwAhsvENsvs5EeABiLC2AQggACIAj34lryLkvQcCiPBbAREBEHQnZCkCiPC63awxRoc+DIQ+DGx9hvXe0d4x6wN0WOMHs2YGVmUKNjp0+3E0zBCajQ7j2gMzwEYHNeujs93wnNfnsxpxfT6pcd8fn9fEr9Cz6zQ/n89W3vLKz53s+/6Y5udzTfwzP8s/ft17fe6F7s/nmq3u++i+VPPzuQL7xLmvYKvZmdntkzZv7zstbrf1sT7vid+h5xPezzb/xE93eH1sVA2NO2x/zO/j0+899r3GuXpstzrNrm3sS+MOy3vYfTzul82m7737vCPiWvQZ+3bWx/hFwbhXRG/nPp11j1bVqEuZ9/Q7wO9J3IO8OmOu61K9No/96fgddid6tc1mBpj3eto5a/4Vv9fz3PWLVkfxvxH3XvtXV2fcy+715RFh3NFsxbydeNymfq++frArtc/TW5C3a97jz/ZRrRd7rHu2dfs3SMi7rjPsOnvdzrw/3s99/SDE55wl3sTqc+7kz+KuykvZ92n70l6fc2f78kS8NI/ZYYQPHzDc6NPNR3NHhBGzYDNG4K64G+4IfYY3zB2GO+6Ge28ew11R9+beUA9vmDvqsc0YkCdPEV5FAOFnEREA2wYEEF5FhKcAIoAAwi+Fd+EpgADeZp6h3/z3r3/wvBFWtzPaqDFyDq6IOD3yGtiq6HuvXYYACLZBBHjwFAFEhFcROJdPR4AHIEI6AiIgACLAlyhXg5nQbChqZR366IhgQ01BhwHWh3UF7cCaAwg6DIQ+DCzd6ApdsT4MbCjfIPrpCDq1753Hep40orImRGXlwCtrQcaOFeCb6YVLGJU7G1G5g7VzkQ7p5NqTVXmcb9AoRAQYARFYgZViR60Uu0arQdtOBoxqpBPT2pxzKnvQ0plGP0o6v5gwdsOq8Q3aP2Aee73MFRF7zIWwh1WDuUiHVtZPB7wSEaH9xBP1WNefDIjn6d+gfhRBXb3C509zzmm/QH4QInzhcw7Qaz51rznOX5lzTv0CCRnA3KwJ8TZ2o00dpdg1tAzS36xywDhyRoRWBjGsGnb9MNF684Q+21eoV0aW4RUrFlrLWDt2wqqsPfCK3O1F2NVg7pcIfmKVtb2ijhJ74Sd2vrXM2Av5ApkxphgxpY4xwKbBmKNBs6F7QIkYIAqGacLYePHxEErECGN4H0pzhzHNjSiY4ViPeBMyp7Y5FQFEeFoNHacjADaYsfSCBeQJ8gpgsyqACE8B2wDeiN4R37Ud+S3RAm/fNyDQQH4P+Ckhgnzlb+NL/09e4I/gX8Dzz+BLhju/AcEHfw31ORp/gjlfsl0NERABYkJMQEQARACEF6z22qmAiCAigOCJAIgIICL8KMJTgG8QVnsg9Aa9WUwjZh+K0GwodOsDEBHantDWgo7QARudB82GIugwwMxGa8NATUenD+UbFDEXtDJaWexMYu5dhubOMjwr256IMKoh9KN6FD3aVmX5Q3NnGaNyZ2PNvTPzBFaVx/cu5etDK+tHfyImRDZWEAtm4qUQ4zETEVrZDz2UsR+xYC6203KyFnqcUdhlRMIeX6CxVdP/ZMJc7AH9qCc2eO35C7pHvuyBgB4FT+YKvWDVrBpzhpfYgFZVVf49/YNRrU3rR3+wEz5+1b9Z6LHW9HTK6NcfrADfPDgM2LQ98b0Wejp2qSf4SwTM1WrAio3KN0BOoqLK8Fo/9VpxxoOhT9iC1V61FbJiH7UTkS+9VhxjnMitW5UjwnCaz+4dxsQdhoO6dzDHRDkR1OfICequrtj0PjAHde8I5q4QR4hCd7qDB8Rx8xEQEQHhVQQEREAEQARsg1cBekd4FZ4CIgAiAiAGGwwCImCDN5//SJAv9x35fv9rQfCAvwFvBnAG4AzApoUPRBjOn2HBG9GiFlYYoxZWGCMObFv5WIEAIgIggOCJCCDCU0R4yx3HERF6ZRxHROi11jG+Wf100GPQhyGYDkOHQTfAhoKaDkNoiAijlFGKCLHA8yUWzPxmCTnBN3hlLVplDqvcyUja2nkGVjvPxE5HhAig7NHaL/aAfhrfLN+Qk1ZG26OVQwRt6kg8G6OaXcaopksf6QjpiAjE2oYI7XTQ079aWtaPYhXPVh38hCsjWRNadSvoRwH5E2HOHb9o3y0hYiZYzTmnPwSbufXhfyKPFQhlIALQLwWhBvSj3y2rHKDHIOyBD6gxkplg1X4yHr4bdpQOOd86rICZyDdL2KchzIpV/WVW5NaRaGaU84N9DBFaZtREr8k4ERX0y+m14ti3KwLblIgRYsSUiJESMEQUOASMMQwxYJsxpiMmDmBzDgRX6HMWvG0ZfApgg20Agw1gg82qTwFsgwiAiIAIgLeu5+M3//3d3V+fJn/9uxXW/60A/grw3eIQp4M/Af4e5tP4BSCAENn4bpX/P50I8ABEWNsABBAAEYAH87o/n4UIIMLahu4NeZRXEeFVAL5K8xijQx8GQh8Gtj7Deu9o75j1ATqsIYJeZ1h+DPowsHUPG6dGM2tm3YYi9KFmjWZD+SrxnNfnsxpxfT6pcd8fn9fEr9Cz6zQ/n89WhH5Vx4Yxr89ntfjcH6/7vjQvjc/83NWZ1115davP53K+SC0zu33S5u19p8Xttj7W5z3xO/R8wvvZ5p9AhLyvHR37pM3bbd3W7ZTxuHPkPfVc7p+rx+1978Z21Pfefd4RcS36jH0762P8omDcK6L2o3nWXX3eEfFZrNvQU7w54w67E/bV513LFdmOZoB5r6eds+Zf8Xs9EYY7Le4Z93r+Bb9j3OuFmefejS1JhHFHsxXzduJxm/q9+vrBrtS+AsHubX3dPu5otuKhesp+1a8zxnX1WKb76l8mIe+6zrDr7HU78/54P/f1gxCfcy5HhHV/rnsredd1DL8/Tt6X/oZ5fSqv7tepO5HNKOKlecwOI3z4gOFGn24+mjsijJiGiAhjhjdoHrMjDDfUXd3VfTDcURu6r47N8PY1MiBPniK8igDCzyIiAPLKU4SniADCLwVodWZcG+EpX6O7jGXV6si3+J4JtAby/yE2eEO+c9vyN/89OXjlMwN9d7H4cHFqG94FVuCq4JoArghuZqeLdx8uIuI4YqLyFsCDY2CbY3BFDOd6OEQtXA02cTufLvyIVWaeCRE8RYAHIOhWHnEZImQ1BBDhKYCIAIjwKiLwlldHRIAH8ABEBEAE4AU/uSoQAUSEp4CIgAggIgDC0xMRQITnPygDq4EZZjagj44IfXSwY8ajAqGfatCHAabD0KEIbVgDMxu9I3RFROgnJyLoMBD66AjYUAQd1qDZUEQEOwN6OegwwMyG0jpC76DDANNh6LCGGoINBTUdxj8pYSYRROxkVlbArKzZ8kp/iWoQUQ2vrEBP5vGdx+g7c3fmqvQN/fSXmWMjjMqdjVlZk5Y7z8AqM1vLzOqIEAsRfGKVO5WYO8u0DHIyKveCynSrzMQ2rMoz6LXzBA+V1UtCr04/vZ+O7aZHkZfttLJqegwt0zPwUtZkBcRi7oaezkzksV2PwXZajn46ttWz4ZsZEN0KYjzSERFgO+QkElawAj29ldG2Uw4RtFDb+FZGtf4x7DQesAmeEZHuCwF+44nvXm3siFhTT2dsiKAMrJgLYQXpD+x0XUE/CuCJABkRcXSccEUrvSO/0qMwkgiYgRWeWMWTMhgnXLHNmtDKejX06EM18zdzzml/Qaunv8w55/ij/sPY/ehLnKqq9pDfzGfDZlZHfZ2BCBGI4P5HlKVjNeec/hBsZumbUP2fF738JyulzW6l9KW/IaK0V+unQ9ivcsLMt1YzEBFajda0RqsBy62UvnQuMMcd9rCAiIcdA93OHrDiFzOOomUQ44EP2MM2nmCl/7TWyhP8IMSOzMbasQP2GrzZJ+jViIrc+iurtcpehDj2MqoBsfATuZXYsQPdGRV4xSrtteIMRIR5VtSCcWLt/ot+FoJXrOpvFWurbVpmlPMPKyLigIkgjtiUiAFzrEfMoa5EQBQOAZRwpbliAREwRhzgGCelsRKBTQkoEYow5sAMUQumRIxwiCj4FJtzIKZEjBABEZgo2JSIEeKAKREjJWCIKHAIGONRMqe2wWDbALYB24Btgw0GbAABBGywAWywKS8Vn4Jtgw0gIoDYALYBbACvA4jYADbYYBtsG8AG2wAGG8AGDPiKLv6A3VUObR7WPqbsdxfvHzoD+CPLK/3QbcV/98DVb3fsvrvyHVsd+52u/Gd7trqdPl25du/B8+/w+m8B8GfwFwBE4P9KrN4N6R7QxnTlbzD8yb8B5m78CcP5I2x6hxF8jChTa1PhTmgYdHv0vdcu41VEQAQekZm5eIoAIjwFEBHgjXnWOoEI8AAET+ABvDAr1nFmsm4D/3chWvvypbXgLoje97q9XA1m0k1HR+hAbzwWTzMbYKNDtz4UGw2hD+PBOAZ2DPowROijg6eOjgg2FBGhHYNRdOOwCn0Y/1ehtC+rrXAX6nwH6Kcj6NSRlWeip6On/2rNvVruPI7nzoqsBK+sxWMFIkxnVu6AWVkTz8rjsCqP8zKAhidT730JorIW/1O45uncxO1eoMPXwz0YhYgA4zL66X8w5zTWgh4NT7yUDPR0LUNrIMIeiAgwjX60n45t9VI88d2waojgJ6fxYKC+DEM3dA/+h1CuuX0528rtckb7FuUu7J82QvofRISxJkL3yE28wFxp1a0iYs0/UI91dU8E8ISxiefpiAjq68yHMKpjFRFr/hOKl/1d6EcR1PXv8FwT7ISP340955z+WBMR3HWvOU739QfzqYiggB31hF4DbM85p/8vEa55amtt4na9puHrYSx93OvGhAxgbsZRtKwdoyznRORlLvDf6TEIe4zq0GtYNezqVkpf+oMndG8IdjqM0zxpGYAeg7D/KddMOVfwTZ8cv379+nX5yu31ysgyRu65F6yK/vV1diLW75gVWR0RIc6KCtpeUaezduzgh5YZeyEirIp1Jp5ERUQwK1b1/6OYaO3Ll9YC397++++/L/17fbo1QT1cYaRNb9B8HmI8CX/xgWDTbXAMiADvYO6KPLE5DUHd+1AYc8BwMIc25kCe2JwGw/FXMHdF/q9KmVqbCr69T5JUXvZ3QHgKIwFEeLVtkCeICE+DDQZEAOQdQER4FQFEQAREAOQdQASEVxEA+b8rq74Hp5I+3YH3h3yhz13xNQjIV2q/05Xv9lewVbPfXfkeb3Xm6r3d3eTfVPHKZwb67mLx8eL5OngVq1fA6yXAO8BV8LwieJ+dLt59vGijxshriAOvoMQp70Z39zFyjniZeDP8yBXQxvSRq2EqvNOnCz9g9L3XLkMARARAKANEBOBlVGYmTxFAhKcAIgLwYidzV0cAhH7GQAARngLwhp58AQREhPcH8ELfe+0yRAARniIgAiICiACIALQcCCAiPB+MXA1mQrOhCM1GgzKzhqDDGm88zfqAPgzUdHT6UIQ2rPHWYE1oNhS1sg59dGimo9NsKG+epyNgQ+kdoXe1NgwR+ui85GowE8GGgpoOg96BDthQMLMBNjqYgg4DrNsYeSTopyPo1L53HkP3zupU5N4Nq9yp/MazkqisoNfO4ztLscq9lV9p7iyzPDmIynL07LS+d1bnJX1NaLmzzErRsl47T8CsrIkI/SiCTmVVnkGvnSeIBaOa5s4yZlSy9ipjG15ZC3Lu3UceiVGICDACIoiACGrSykiHNd/mnBMvhWn0o/0y5m6kkxMi3iJWKhEwEyuwUuyoXgYRMNeDfnRssGrMwR6MTb8MO62fju2GMDYiAvhWRrX+Mew0O8oK5gJP5m70o7izrdWgbScDXuKx2D9gHntRhgBlkK4nImK9RcTEE0E91qX9KJ6wXE9ERL7NGWewIyKqPWYg7KFHoSIi9stcqmVopXeYizXp1dCjvhBAfrUmtLJeDT3KHq2MjIg4Ohe0ndNgm1WDuUiHuT4U/SiCunqFzz+75vONpydorTnOH8znWwNP9nzyiEf+MJ8vu6pOgPo6Tj/99J/mL/pRBHVdE6H6T3ONDTmfzIWgvs58Qf6ZCBnA3KwJsVgBET+wB8zxg4i8WIH9ju3g4xdjswLMX8Zu9NNf1oThiGBHW7NSC5gL0pOfrJS+FBEygLnxBCv9Sc+aEAHmDyzAk21aBun/SHplZBlesWJhtVbZT+PEOvZHulfUH1itdX5Yax2n14qaDyF3VPBiteK8xAKo0WvFGeDHf8HasQMRoVdGltEyo5yfyNOh74yKF60V5WzDK3K3fyJmjClGTKljDFD3A0SBMOjuHduUWCmBUfc+mnpjOPiAQ0TBNoeIiIIZIwocApsxDdQbZowo2CaO2ERwiDCEfhTGGBhjhGM94lPUw0fMEFHgEDDGCMfAZoxaIAIzRhSIAiVigDhCxGNhTm1zKgJggw0iAHIKPgXb/CwgAjaAT1m1DWCDbQMigG0An4JtgwEEi4UYMGADXudpG8AGDNhg2wA22AawwQawwQa/6uKP2IeQtpcid5/97uL9NiMA8j+QV3qb+TJ+8983/33z3zf//UtX//s0+d//HHiKMPzH9+PAM3QYf/jdH//jfz7/37Pz8//8+/e/Aw==)

Camera Frame Access has 3 feature settings:

- **Direct Memory Access Conversion**: Used by the application to decide how to access camera memory before CPU frame conversion. May improve performance in some devices, while degrading performance in others.
- **CPU Frame Cache Size**: Size of the <cite>XRCpuImage.ConvertAsync</cite> frame cache, defining how many asynchronous conversion requests can be queued. When the limit is reached, older requests expire.
- **Cache Frame Before Async Conversion**: Guarantees async conversions by caching the frames upon request without relying on the CPU Frame Cache, with a slight performance and memory penalty. Ignored if *Direct Memory Access Conversion* is enabled.

## Retrieving CPU images

Each time a new camera frame is available to the subsystem, the **AR Camera Manager** fires a `frameReceived` event. Subscribing to this event allows other scripts to retrieve the latest camera frame at the earliest time possible and perform operations on it. Once a camera frame is available, the camera manager’s `TryAcquireLatestCpuImage` function returns an `XRCpuImage` object which represents a single, raw image from the selected device camera. The raw pixel data of this image can be extracted with `XRCpuImage`’s `Convert` function, which returns a `NativeArray<byte>`.

Snapdragon Spaces also supports asynchronous conversion of frames through `XRCpuImage.ConvertAsync`, either by polling the returned `AsyncConversion` object and getting the data with `AsyncConversion.GetData<byte>`, or by providing a callback with a `NativeArray<byte>` argument to be executed when conversion is completed.

Tip

An **AR Camera Manager** component is automatically added to the scene hierarchy while creating an **XR Origin**. Camera frames are requested from the OpenXR Runtime application when an **AR Camera Manager** component is enabled. Consider disabling this component if you do not require Camera Frame Access in your scene.

Important

An **AR Camera Background** component is automatically added to the scene hierarchy when creating an **XR Origin**. This component must be disabled to avoid rendering issues mentioned in the [known issues section](../../releasenotes/content/knownissues#ar-camera-manager-and-ar-camera-background-issues).

Important

`XRCpuImage` objects must be explicitly disposed off after conversion. To do this, use `XRCpuImage`’s `Dispose` function. Failing to dispose the `XRCpuImage` objects may leak memory until the camera access subsystem is destroyed.

If allocating a `NativeArray<byte>` before conversion, this buffer must also be disposed after copy or manipulation. To do this, use `NativeArray<T>`’s `Dispose` function. Failing to dispose the `NativeArray<byte>` leaks memory until the camera access subsystem is destroyed.

Important

`AsyncConversion` objects must be explicitly disposed of after the data has been used. To do this, use `AsyncConversion`’s `Dispose` function. Failing to dispose the `AsyncConversion` objects leaks memory until the camera access subsystem is destroyed.

When using `XRCpuImage.ConvertAsync` and providing a callback function, it is not necessary to dispose the the provided `NativeArray<byte>` data buffer. Conversion data is disposed by the camera subsystem when the callback finishes.

For detailed information about how to use `frameReceived`, `TryAcquireLatestCpuImage`, `XRCpuImage.Convert` and `XRCpuImage.ConvertAsync`, see the [Unity documentation](https://docs.unity3d.com/Packages/com.unity.xr.arfoundation&#64;5.1/manual/features/Camera/image-capture.html).

Caution

Camera Frame Access may need a few seconds to initialize depending on the used device. Do not try to access frames before the subsystem has initialized successfully. It is highly recommended to use the `frameReceived` event from the AR Foundation API to avoid errors.

### Sample Code

Requests a CPU image from the **AR Camera Manager** when the `frameReceived` event is fired. If successful, it extracts the `XRCpuImage`’s raw pixel data directly into a managed `Texture2D`’s `GetRawTextureData<byte>` buffer, applying the texture buffer later, with the `Apply` function. Finally, it updates the texture in the target `RawImage`, making the new frame visible in the application’s UI.

public RawImage CameraRawImage;
    
    private ARCameraManager _cameraManager;
    private Texture2D _cameraTexture;
    private XRCpuImage _lastCpuImage;
    
    public void Start()
    {
        _cameraManager.frameReceived += OnFrameReceived;
    }
    
    private void OnFrameReceived(ARCameraFrameEventArgs args)
    {
        _lastCpuImage = new XRCpuImage();
        if (!_cameraManager.TryAcquireLatestCpuImage(out _lastCpuImage))
        {
            return;
        }
        UpdateCameraTexture(_lastCpuImage);
    }
    
    private unsafe void UpdateCameraTexture(XRCpuImage image)
    {
        var format = TextureFormat.RGBA32;
        if (_cameraTexture == null || _cameraTexture.width != image.width || _cameraTexture.height != image.height)
        {
           _cameraTexture = new Texture2D(image.width, image.height, format, false);
        }
    
        var conversionParams = new XRCpuImage.ConversionParams(image, format);
        var rawTextureData = _cameraTexture.GetRawTextureData<byte>();
        try
        {
            image.Convert(conversionParams, new IntPtr(rawTextureData.GetUnsafePtr()), rawTextureData.Length);
        }
        finally
        {
            image.Dispose();
        }
        _cameraTexture.Apply();
        CameraRawImage.texture = _cameraTexture;
    }
    Copy to clipboard

The following texture formats are supported by the **AR Camera Manager**:

- `RGB24`
- `RGBA32`
- `BGRA32`

## Retrieving Camera Frames as Texture2D

Note

This feature is available only for compatible Snapdragon Spaces all-in-one devices.

### Sample Code

Requests a Texture2D image from the `ARCameraFrameEventArgs` variable when the `frameReceived` event is fired. If the textures array inside `args` is not empty, it means that there are RGB textures ready for its use. These textures have been converted through the GPU using shaders. This results in a faster conversion from YUV to RGB and therefore, improving the performance.

public RawImage CameraRawImage;
    
    private ARCameraManager _cameraManager;
    
    public void Start()
    {
        _cameraManager.frameReceived += OnFrameReceived;
    }
    
    private void OnFrameReceived(ARCameraFrameEventArgs args)
    {
        CameraRawImage.texture = args.textures.Count > 0 ? args.textures[0] : null;
    }
    Copy to clipboard

## Retrieving YUV plane data

Snapdragon Spaces currently supports the `Y'UV420sp` and `YUY2` formats. `Y'UV420sp` consists of a Y buffer followed by an interleaved 2x2 subsampled U/V buffer. `YUY2` consists of a single buffer interleaving Y and U/V samples in the form of Y-U-Y-V ‘macropixels’; each sample represents 2 horizontal pixels with equal chrominance, with no vertical subsampling. For detailed information about the YUV color model, see the [YUV section of the YCbCr Wikipedia article](https://en.wikipedia.org/wiki/YCbCr#Packed_pixel_formats_and_conversion).

If RGB conversion is not needed, the raw YUV plane data can be retrieved through `XRCpuImage`’s `GetPlane` function. This returns an `XRCpuImage.Plane` object from which plane data can be read. Formats can be differentiated with `XRCpuImage.planeCount`, indicating the amount of planes representing the frame.

**Y’UV420sp**

- **Y plane** data has index **0** and can be accessed via `GetPlane(0)`
- **UV plane** data has index **1** and can be accessed via `GetPlane(1)`

**YUY2**

- **YUYV plane** data has index **0** and can be accessed via `GetPlane(0)`

Warning

In case multiple applications are accessing a sensor at the same time, they may see a `YUY2` frame format where they normally would see a `Y'UV420sp` frame format. It is recommended to handle both cases in your application. Not doing so might cause issues when using video capture or streaming services.

For detailed information about `XRCpuImage.GetPlane`, see the [Unity documentation](https://docs.unity3d.com/Packages/com.unity.xr.arsubsystems&#64;4.2/api/UnityEngine.XR.ARSubsystems.XRCpuImage.html#UnityEngine_XR_ARSubsystems_XRCpuImage_GetPlane_System_Int32_).

For detailed information about `XRCpuImage.Plane`, see the [Unity documentation](https://docs.unity3d.com/Packages/com.unity.xr.arsubsystems&#64;4.2/api/UnityEngine.XR.ARSubsystems.XRCpuImage.Plane.html).

### Sample Code

Requests a CPU image from the **AR Camera Manager** when the `frameReceived` event is fired. If successful, it retrieves the `XRCpuImage`’s raw plane data to apply different image processing algorithms to it depending on the YUV format.

private ARCameraManager _cameraManager;
    private XRCpuImage _lastCpuImage;
    
    public void Start()
    {
        _cameraManager.frameReceived += OnFrameReceived;
    }
    
    private void OnFrameReceived(ARCameraFrameEventArgs args)
    {
        _lastCpuImage = new XRCpuImage();
        if (!_cameraManager.TryAcquireLatestCpuImage(out _lastCpuImage))
        {
            return;
        }
            switch(_lastCpuImage.planeCount)
        {
        case 1:
            ProcessYuy2Image(_lastCpuImage);
            break;
        case 2:
            ProcessYuv420Image(_lastCpuImage);
            break;
        }
    }
    
    private void ProcessYuv420Image(XRCpuImage image)
    {
        var yPlane = image.GetPlane(0);
        var uvPlane = image.GetPlane(1);
        for (int row = 0; row < image.height; row++)
        {
            for (int col = 0; col < image.width; col++)
            {
                // Perform image processing here...
            }
        }
    }
    Copy to clipboard

## Retrieving Sensor Extrinsics

The AR Foundation API does not expose sensor extrinsics. Instead, two methods are provided to get the sensor extrinsics.

Snapdragon Spaces provides input actions for **ColorCameraPosition** and **ColorCameraRotation**. These input actions can be used with a **Tracked Pose Driver (Input System)** by binding them with the **Position Input** and **Rotation Input**. This **Tracked Pose Driver (Input System)** can be added to a GameObject and the pose of this GameObject matches the color camera extrinsics pose.

Tip

As the **Tracked Pose Driver (Input System)** component relies on the update timing of the underlying **Input System**, the transform of the associated GameObject might be outdated by one frame when requested.

If minimal latency is required or if your system has low error tolerance, position and rotation can instead be retrieved with `TrackedInputDriver.positionAction.ReadValue<Vector3>()` and `TrackedInputDriver.rotationAction.ReadValue<Quaternion>()` respectively.

The following image shows how to use these input bindings.

![../../_images/camera-frame-access-extrinsics-binding.png](data:image/png;base64,UklGRsQpAABXRUJQVlA4TLcpAAAvLwJUAM/nNrJtp7nn4l3HtEZGBfTikd7LFCp2IgCyqszMdxfgKH7/TiWSPLnDOG4kSZEqa5aZ0du14Sy998L851TViyDo80KTpCyDgLAMwjIICAjLgIkfiL9oGcQPyyyzbBmfAtKOPkoBZf2sTpg+KGQOgsMxAfmTtMgiy/j625KJktveptiWurCBxAG82eEINgFAik+uDBPlaQYBrbz3gAG5/JP4BF6xtvxJ4hOr4PN6xPGVEP0FIH4vveW7jGDIwJgXF6MoaNuGSfjD3h+CiJgA5KV1x+5EcWvTmV0wo6EmUK1KfpJ7HTjifqagCGbaMiHagcKaVQ3cfNSJguINi7NdTSx3PuoHPmr//192EtnqOlXn1ukxDlW9kuxsSEIMBBkCMRFEGQsQRECCyIxYIAUooyAiCloiCAIKMsocQFQUds9nPufR/Qvuo/tPzNPDTtZa2VAlEM70XRH99wVJkiVJkmyh1sui3CNJtCIf4K5tnd+Ss/1TJCWEOS3eefBwIwWOEwBRkABpubu7uztnpn5/qXnmX/urtX9F9B8S2zaSJM19q/q16NIW+i0fpSzNVwCOjJwZIj/97Cec9dlPjyicHiJffPlTzhJfHFG4lCKf/5S7xCfEemh1oXtKdEONB/DL1A/THviXCy7ngvtDhXBcHaLWZVUcQ8n+dTX4RAwBT741q8R29VVYGEk7V9QrXwuLGLqsmk0w30DzxHjjKTVV6lx85zxAVXqW7nYseCpU8MCvKA8i1Ui8RC/Q3ueCi2PBq9So+2fCyu4Qb1aFSFMlQcn1b67fJ1YZ63i682QXYpWJnpHt1zaapSJcNctmk7exUrUxUIKnN5vb3w2prlKxMU8OTokeZLrihAcXeF54AHjhhb/GNMhqWLIp2Rba708fpvx8Kp9N+fL53RLOn3X8i5nnMhDZdOFWrhz+bUeVVYaxuONmBCWlKV42l3bU2GSE1racY1XKaFMiZVNJx81IGY5v75SYZLqP03Vhu5MeJrLp7JVbwXJIUxZdxowIoEhJ9olsirvRlubNia9qz5Dh7ZSDmzKKVtBk9jqrXJeR9yjkyq0gOeT2RWZIqoozR3xtS+yZ5nqbjFvbpw9M3R7cGGsO9aB7D/6CUKiCOEocp+fju/Hlwnj6Ol9MiQQxf6qQoCxPllqWFzvXXshBz7b6ltZsXufePggSw2+6Xy+HGqc+9M9t8HyrOIOG3/UsrEdFvJ3q2HwgM30sPF6nh/HmFygpcq7yDVNG1VBb/SHYJwGvh1Z3zico80OzSj713cOs1F1fFz0hMhD6fjbTLANuJVG+rKQzQ1JVnDnmBt8vzjzbGZKRruQdmKY8wMvQZg+mVHy4x/+fCwhVxXTRCyaOv2//TFdyuvdmCJB/rqP+VKdJhiUzQq5VbBlwy2cGMxKU6rUho5ypJMuhW+VZSpEc9ZHRnlqwuhic6Uv50JquFMtxSWwfR7NipIbxCnnXLPesBjFlVA0AjC3KtDo5RqlJUO7IpsUJFudnuozXytaDSNny/pbcvRrEDElVceaoliuVNLn7A3BGqTlQXcvxAELNc/YKYr1iuUEHprw6Mg9MeOV7xLT3T5VyZQRde7byUbFfV6JkKmVHyZRxXVldwXZblWKX8ZoB7IzHeYvsvmrzC2X1wTm2j6P7PTUM9bgHC8Fvmtkyzq/HJkGhOpRbCciX0b2pAnC2em3FIj+cC95olukhKfw5CpQzcpMiI1xpPEgvsLDoJdT82726QFD6pfQg+FnXRmYKMP92FwqV6jMVir1YiZeDk08nKPdfL1nlEiX1DBBerJyXg9YZ1ZZgGShWzsnwPJERV764aWT6WGFvnvJkKhU4x07AMbLsT7mMwRU5XimQI3kS20/LKFES5CzlmnJOZob0YefgcynfHpgueOUK+H2IF/bsIQAiL0XCn+upggs/3Y3rO+dszxV75NZAXKOS4vvwx1456kO3vWDhYsz20IVGhVFJBUdtDZypUdxZywWnH30IYfooD67eXP4QzxO89m4O7AQcdz+a/FhIubp9Vw4VEzmPvAaXk31c24MZl2beWmTjxptZGcyQvip2Dr6LSs5B+onQLIAKeQ/+EqnyEwGAU94D2JXwKeVtN+zyJY+y9R2Vcl0pknM8ynanUS5+t9M95QeyV5WtRtl4f0dZvyIzfczPk2/6z8k8aFNqZbaMI09J96N5HaM2GZUfRMV2HbLfKjYZQP6ygrk0Gbij1MjskFQVMwdfy4ewA/d1QnXP2cvXCf07MWrPQ4TTAwWdNtMx/Aqjhc70U0R1mk8LtnYXS9U8Rs8dbkWCkhsUShUEG+nPdIopCqUHbtyxM0PSVaomFYsP5MPK2jMnU+SrLz7nLOwP76TnT4f5e1lyVytkeadzDwbJnIsOoM9RhF937E5oSVbQ0cu5m3/RozlKWRRylLL+7a9jv/irw9r6xbGDmfjZLzWHpXXS3zpx/GfHDmS/+KXmsAY4/osD2V9pDnFOiCMRlvRCkW6hG3ZDupCXG6flMxfpWQZxIPjPghZ2iVq/VvXfKUMFh1WTeUnAfkwlX1N6zAmadO3kwcBVEKEXKHDuWk6i6dSlC3xaG2F9E3Mg+KWg/dooLsUZxXE1vi5VISVaUx5qtOaeU8nXFJ6Zf4Jy3IIDgSjQngSgLRC7pC/XEgTHAFpHslNH9PFhqeZzRB9vTjpvJNEFWc7o+Z8+v/L6rxoAyIgCcMJlTtZ97UyyH9PguD0x5jgl2HnMW5EUe8IbJpLCfLQayMUaX82Zkxr82pVo0zBpVBMyXdQMhjjNqXCvs7+mq8qBxUt6xElE+D4udvuX/AsGAgCZGZHJOUQuzYwxFRO5NCvq7LWgUzlJYdHz3/5L5rnzs7zzWOLrisxI7bVz1owEDTKELSnHJ+hqsAYZ6WFJlzTI+iYs5SpNKvG1hV3IP36iKMZ6xUanMU7lUjNIpRrjVQ3kIia8kFmLl0I9IsoQcVIU7pacUnzZoSWWQi2BQy+X64nsVWEiSEk4EC7+1/evt24+efRgJlJ5QgOtBqYCTXDRMQ3sJ74ulQuDNRDuY0C+ObjouAZuL5MuODtRE3TNm3H5tK7sK83JY0waTbrmm4H6UdFtxLl4NrwYWLsAtOGXk4g9g/6qLSaUEgLEZBwMH/6xePAkZUo1QFj6lUKhiUinP1xZkqYBIsrygbKIyAwNkOrlvnL57HFNhC8jHpqE0otRx5g0mrnANwPFeV5zVWLDiz/DmvXAcIoAxmsk8pIf5ToCV9pB8hAd47WQE3KhJuwSrUJ2R2lgy/4KwHFbjtdF+gJAmC8j0anBSWu+i0mjnU/k0F4z53LC1+Yte0tw2SmC+MtEKrYS4xUdq8JF9AVRJDXuwBJ+SYNzhZqTpUaNzu37wjKUBmu+KgnWfJ3+9VdlRo2hkuMrb5u21IAkDeKSmTSfrxwlWg5k59s1bPiYN+2L7NfcxXlmgtNX84uiCEskXilKJrAWZbeKE1nuwuRCDazXrhSHUyW2oq811qKC0ngNbCVXLqdxwFqUXxytOZ5+9UqBnk0rF6I0Q9LwRFR+rQFTNeZN208IbbDMfAM6AoD91JIAAOhbwI2cmU5f0y/uHdMep2OYCupXyMcJm8hv+wpsmtrFVDV1HoLrqOV9Tv2ZwP8cxVHOOa0jkvUvJE5oDm/rxMHshCHSflhbwnDiQKY5vP0JCM3BzH6YWwe4yXmBpliOcy5+QsZvXeq09/nVVsqOcCvGD185DKCZpD6klkWN4E5KxCuZQHXsvuivy3JLFr/nGKvjJziK7KqI3/0pwZ+hBmaE0tWHfhuLcADNxCxEb4VD6NUwzxAAEAkAVMfuj5LtSP+9HY7GgbY4+433s032c3cGbsVSCa5uNsh1N+vJ/fO0itmhZjunxNkyWM5ItiPrd2wpLnQ+rbS7uo0DaNyDjhwCyGVxt0JNxQ35OgJ9Xn2BRHGU6ORKIpdF11WaCQxXG1LTnNzYC+kEKLfIZRF1121Ur1val1z6LTCB8icbjstLT9yu3zwsfdVn9yUk/JENSvibZxXDHtrEzaJ1O9iS2RdiaJsj4/dsqVNpKtmsSvijcQAxIzzUEnvFvHA32zpxI+nutwSdHWn1fT4xL2J9n8k835ja1E/woC311lgul/MFgf2V1jzfnXFt+hTpbE9teLj/aK4V7+7ac35zxo6lG9RFCpD/1u5L+DM2KOEfXfbYv4/3OfenszG/vWhnSi7vOOx4T8tPvTzXz5am/CneHheT8EfzAEI+dfl02ffMsoEglMA1RGJf6oA82TxjH3MQyopMdIvBzhd6gmE+PD9DroOYPeEEDVWxz7UEA2f3HaODHwfsqH1lB+6DUvFycwsMNsj39YbfJ/vcei/E6kM7U3Jzwg6M0N5vLnc5OCP0/mG6zss6gJhxPPFAOPbODAFS7zwbBcm6A/hKlqZaiQ/dNGXN7iBAsx8lteRFBDG/JkB2R9bsgBBzWfvQxbXfuewVC15P7/jk/7bQmc1ig7hWRx6KJ7+JYVQuek1zLgDOCHCVbHT+mTqA0MHZUQj7nnK+ijfYR0nqQ9pi9EgOX0ofAXr8CH11tp/AvKInKGpK6zEKIfT70Ydfd9nj/5BvT/nDRftQp/36gh0PvIaEFxvEk/4nB4B31xjn/pRrz/x7LrYUA3Z0D/6ZOoDYwQXY91Z6L3B9lATPOIltWPKWRE47uIImL4q0eT/QO5Dv5Skk8ki6cTqWmDrM+5HLf3PBXqJs/LbejvzfzTlntz4MgkpI+KOdCeLpHgSAzhG2pOp3b5bHuNhSx8vtN5vf/Jk6gOAB9pjh/shoIwgSJ55NplMl34ybeYi950V9sz+Xloy+5trhye8IEseHZqr2r9eVY5MdAAAXkOACncAJ2t0SiXZA3Qjx5+zwO0B79yubZQIAOqukrioEwN2LflKy7tBf48GC7jUcKbwPIYa+y6iaNHNpq16eoV5RPKp4n9NYWOs+RbjkKzEEgOHKvnWOIuLQJuKrg/kcBX7+n/7ysLbEz/+jh3PDjsRA9txwgtfFYb/HgKWMuF4xPNUUw+H+/aZLBTVSNvgfHO6aCRDV5EdREuelQdmXC4fZgSJ/y+8xYCkjrlcMFy13cjzvAFTQI2Xd/+Dw2koA16gft3NZrTmmXDhmXHcznjxIZY8Bi+2w3dH4tNm5FyeGixfsTGLd+9k2zilh9/HDpbgcKRcmqj8dQ5e2Afbwr1TYkOJFHyHOfH7/COTA7lw4PhL+Zqa6/fdJzDFgsR22v3pZMTC/ByeGY5/dtzOJ+UtPithTwn83efRQKS5HyoWJ6s/EUKXBdcPVYA//3m9Pvf0iV6aPEDv66g5CDuzOhQPkn74BBu4zx4DFdjjnfYwdG1d2e2L4d7/92/UETuJYHeeU8D84UVyKlNFE82divKXhdcO1YA//Ol7qCZ7n0keIqQvIgf25cIBXduDmBHMMWGyHa/+0AYja3Z4Y/saZ+GCFkzhWxz0ljOJCpCyYaP6cmPC64Wqwh3+Zw8H0EWIK5MD+XDgsfnMJQNmaPeEfHXa0PWeOAYvtcOVcPADHHpwYjvmbC0yiF/eUMIpLkTKaaP6cmPC74YkYAiT3cw7/9hHgXi51hJgGObA/Fw6LJwvn7MlvOrwXrXBtXWeOAYvt8Lnf59jPTSTswYnhsj85mEQv7ilhFJciZTTR/Dkx4XfDdb0mYn1WzDn8O3uGRC7mMkeIcbtkN+TA/lw4LJzP//43f/coxp7wx8fvftdvZ44Bi+2wvUTZ/ON9+25PDP/NX//NmyI7mzhWxz0ljDZipAwmmj8nJvwvMjQtTizUaDmHf9OmBh+35rJHiJ2TxyAHdufCke1XdqU57aD+lwPgvCastMOxyc69PDHs5CU41NRYTRyJbN4B8bqybJP4h3/1Fv4RYu0EObA3F45uHoJyuDw3vCeHf225cKjznM7bh873OQ1XdsmbC2/B6Ib/DZOTLeXLz37CWZ+Jw5qTQS3liy9/ylnii0Oak7bElvL5T7lLHM6clBNVuGtW58dxd2AYvx14Uqzzc/hYyGRxRo3XVnV+HHcHxqPa046HN/wcPhY5XHH8gjrM/XzZu/vq8xuKguj7AFMnhpe4OrBhWUsQeok6fKziHDJLJKrD3M+Xvbtvh0ipG9D77gNsok4ML3N14GffmghAHT5WcQ6ZOpj7+TJ3942ZkAgeZZqXDeyJ4SWuDhzSOPt9no76yU/NOWTmYI4KM3dTzOokQBW8FeyJ4aWuDqy/8LiOouYcMnEw9/NlpfYSoL7Yiz0xvLzVgY0OALZpippzyMTB3M+XFTzjJKHTUV7sieEf7u7A1kUHQen31OFjNeeQiXsLcz9fFkkcH3h1mfgq6BPDP+TdgbOmxmYGIqjDx2rOIfNEjfV8dVY9L8Hww94dWGsVzOFj/+eQV3Ee4vDGs57vD7N2McX+8H+r/8XnnIVjh7e/ONbz/YGW+in2o3MUhzer0t38B8SM7Ddw9CB0UIjHVQa/EnYuE4ugvwE1pVmqWUQgLFIZbX+y89ivoBILRgT9DagpLVNtRATGyghalDAiXW37NpQg6nprkUTCGmMLVtBoCGuMZYLCGh1VLUkMJiKs0VnWkkLgq9M1plClAbLril377F33/Lot9O1k+5v7xKVkl6+JbtmlZDNBLmVucGXnLI2JcCmvB2eUHF8lMSg1VCnDtCTmri7oUpUCYvvQnKIUEsc56itvRABeTJBLqSERSjWNiXChlUgL46yA+QLYeekgFUo4wfSQYUxZue/kY4J8JVDqaUyES8kh6NoMuFUG6QhQqLgIPI8JHMULbyQuJkitEoKny8Sp5JLQAFoZAQDbVn90tZL3zVKutfeD7DOwlODDBKk1f6Fgu4OYtscv9io1vtIAGjJWla16It3bUdYuE5+MTcXiQjYTpNatNYxYCMo+iNLtGqqU6f3KWvocsMGqZUJ0wbwglculZGtNdKKeKT0yeN9qF/y/D3HE4VRF1NHL++L/DquD+z7A7LGK//e/Dkd/6sdlBdcVWb9hPo4HVUEPBQp0HHFTQ3JgznwcD6qCkh2JfTc5mkoIjhhYSurTCH2TXk7Q6Wm2JOf5/SI6gXuLYObev8w9gZnf0QPNGF4WJD5Lo2/Sy2F/RZgSZ19dApPAu0Uwc+9f5p7ATCLNhM4aSZCWuUkvxZ3lHi4jTAn3Dr7cWwQz9/5l7gnM/I4eaH5wY+Zejpa5SS+lpWGsgYAp4d7Bl3uLYPbewXcIwElkE/txPABy4kAp9ya9r63k/JRMmBLuHXy92AT23sEPCcCJYRP7cTxENWhJRSNzk172B7wH5YQp8WITvPgJmLIy9wRmfkcPbGI/jgd9+4vBoXDmJr0sx+sQtqQ1hzAJ5hniJ2HKSt8TmP0dPbCJ/TgeAKMA/N+klynZXQL/nsA6q4HAeYhVPQW0DnB/6Si2qvOXRwerHtJRwdpMQa0HtUcorEL0efBICKs/PTiiEDY/+r0HgBhdsPnhwRGFNg+AUXgAtH8SLGlRfPaawMtdrzxJ5AG490m4rvRzPE+S4u8ZAi7o9gxKQohB3DfwnuFhVg9XThW1cn5gk8+3QyVxuqr8tJS70+WMLfdFVEdJscVna1MCJD2snk+CQ3Gul0jh6wN9nvCSnccJee98EY/e2vPePRE78QGRe7yLrk/hon5aujMqVS8aUGqXtrMlr+olWZq6lbdtlFbKAyLtvIe0fgoW3s6v70TeHvNFMG6/EOLJPW+AmKsKiNgW2E80H/YJOK9cjIenOm8rJno2TtoqMnjlbzkiNkoDKMIqxCMP+lS9TkgH/bi0TlGPM3Rsf+iE1KEUehm6tkVvEC3wex8iZgbiR/o6odnoe57JQEeESIHjisDRy/vi2wLx/6lFAv+1pZSQyNMHMXO4bd8X93DySTpHcK+qqr3yaFCgSOtP9HIQMcm+z6RGy2QPMTVOjFXpdqU8bU9U0Fe7lxU3pxBxe6GicW9c61/f76WsuR25y4WcH2zW1VXtkc1vXGlj9f7okwi6r/g+kypXCIZvRzoHG3alw70Xauir3st6m1MI4x7Qr26E7M0Yhn3fXDKA+DUt0V9tKw/2YQrkGwkdNk6VubKtSOdtOdNaps0XOQT6wtYSAx1HN2EzjCBmlc3GqeutmUSuJTkz/cVyLW+amOZaC8vwUUtgy2drONNFNX8XTmAobU/vcPNHM5S1Z2TG+R8B9QXhwpLammKJ2SFmHwBgb/cS9HaCjrGK0jL6O0oIM6u6kcvPHQCiF9mCXpHePCGFrHMK3j3Ki2Or5KX6tL4GEvK2PWtsuCpnOZn09mS0DRJfXCjVRItaY7MNC8WpkxdD1olzuPk8d5q3dzI7X3D+8qrBTADQNbzpnmRXrIWS/p7Mznk3f7SB+5kdr93+R0B9FAZ99IrM1iHC7BC9DwSI3su95KFjrKLMf7a8pHHCzKpyZHrw/V/iMOPMkkQwnBOyzin4YOBVwQbET5GQjzLJekFQf8M5rSUYP+eNY5uwGR/uetrCZts2TCRYG7JOXXCn2Q4iuvdGluXOxkihjjA17HRKBEHbTdeCnmDazR0tbl4PTLn9j4D6KAyWzgUdQaHM7BC9DwR7u5e0+VkME2+MQ5QAML0J0q7Y2VnVjUwPvv9zTjFyewHcFCHrvAJuFTIeTM6C+FrSB4GautyNcSHe5Iasc5qwOT05ckNis9Gw/v0Vlr9p4AljAfqUkWYwNex0mwTI683zlXa5uaPlPaRK/I+A+igMlrkPCAAwO0TvA9njvaQ5rbCQkHWPqE/RTBHG6plZVY5MPe8AIG1EEMD2vTZziACtlV6cAm5V3PJ5Qyxf5oAJgORDN7E/YbDZQFDqeDWDN42GyUWA8DUWO922BJTfpUofU5ig9GECPHX7HwH12WCmMpP+GYrZIXofyB7vpfSgwC7qM9ZVj+YlLT2rypHp5x0AD6kaDyeWp+3EuB4H25o9ZJ1XwK3KfgZ8x2dacxLzwxAvuomDzUabltS0+3ReJ7xpNMLeuwiqR1nsdEoZkWezTBtnSfQWhQkKWr0sLr5z+x8B9dlgpjJ4PQ7h0xKzQ/Q+kL3dSxWHKAEiNyQCTCcxs6obmR78AKC9vrH2vkUiSF0cX3GTkHVeAbfK0D87187njZtcv0m86CYONlvfMz8xGUH9cLD6lDeN+iDXM7c+EcXiTHd7arWF4KJnYqTbzR8t9ul86123/xFQnwnmVKYuvVrNJvQOMftA9nYvVRyiAGrbCYDrXfSsKkemB9/n+fvdXujCJIAtUFEVEuQ3VxdqIICfJn/ZJrDpsoppCq4ZCbRhFgLAzwQh68ytrCWrvyBYADy6rGKEQp8fHBLETsrdIRN+0L1Ml6j/TVc3Mn7OcGq/ta+sspF+VUE0tUs31XLp5oqZALsI3v9W5Yunh9D3OQ3X1BeZym6XWHcXfBh6n7PnrMvZS07bKWM8ahA6KERvlYHDIuCnIWHnMlHTmqWaRQS+IpXR9sfb/RwjAn4agkosUNNaptqICISVETQqoUS62vZtKClYQaOBnKpqLzfSDWGNsUxSWKOjqiWJwUSENTrLWlIIfHW6xhSqmmJqFaF99q57ft1Wvia65aClhXbPGKEaXEo2k+RS5gZXds7SmAiX8npwRskh3jpiUGqoUn4ZqOt4P05SlQJi+9BM/9yXFkpuKBaqwYtJcik1JEKppjERLrQSaWGcFSBfLI1/nLOQCiWcYHqIonUPrHxUwllMku9rEUo9jYlwKTkEXZsBtjLSsh2LQsVF4HlMyVcqo0t4mCS1SgieLhOnkktCA2iWd09g2+qPrlbyyMBSAsp3nJZhJdzX4MMkqTV/oWC7g5i2xy/2KjVUKclvSSQZq8pWPYHYVCxiUnnbpYRTDS5kM0lq3VrDiIWg7IMo3a6hSvndr+z3mKwuGIBFAt3AO0GrcrmUbK2JTtQzpd1g3moX/L8P0Tk4VRF19PK++L9j7svPfsJZn4mjEF98+VPOEl8cwulP7bs+/yl3icOju2YCRDWpCnooUKDjiJsako8GvLYSwDWqKijZkdh3k6OphOCIgaWkPo1An1fvljhBp6fZkpzn94uYBLks7lYomxBdV2mm2gokJppmDC8LEp+lkc721IaHHPZXhClx9tUlMAnmhbvZJiZhvjG1qZ+gsyOtvo9JpJnQWSMJ0sY+B8HAWYo7yz1cRtiS1hw2wbxs4CSsyES3GBz7UkeQJzPRND+4MXMvR5s1OyDEXBalpWGsgYAp8WITzDOEn4Apa9YdAnAS2WUihgDJ/QSQEwdK03qMQgg98wV8fkomTIkXm+DFJjBSH1KYaHap6zUR67NiEtWgJRWNxulYmDrM7A94D8oJU+LFJnixCYzgGSexDUtMNLsYmhYnFmq0RN/+YnAonCSOD81UEZbjdQhT4sMkmGcIm8AgiRPPJtPZGHYBZJtEADD3xtVZDdwupkRtgp82iYkmcB6i4adjX3zOWTh29HKO4t9c6y7r0PeX40jZTEGtB7VHKKxC9HnwSAirPz04ohA2P/q9B4AYXbD54cERhTYPgFF4ALR/EixpUXz2msDLXa88SeQBuPdJuK70czxPkuLvGQIu6PYMSkKIQdw38J7hYVYPV04VtXJ+YJPPt0Mlcbqq/LSUu9PljC33RVRHSbHFZ2tTAiQ9rJ5PgkNxrpdI4esDfZ7wkp3HCXnvfBGP3trz3j0RO/EBkXu8i65P4aJ+WrozKlUvGlBql7azJa/qJVmaupW3bZRWygMi7byHtH4KFt7Or+9E3h7zRTBuvxDiyT1vgJirCojYFthPNB/2CTivXIyHpzpvKyZ6Nk7aKjJ45W85IjZKAyjCKsQjD/pUvU5IB/24tE5RjzN0bH/ohNShFHoZurZFbxAt8HsfImYG4kf6OqHZ6HueyUBHhEiB44rA0cv74v8ukP9PLRL4ry2mhESePoiZw237vLiHk0/SOYJ7VVXtlUeDAsU6DpPMT4heDlKjZbKHmBonxqp0u1Keticq6KvdzYobVIi4GlQ07o1r/ev7u5Q1tyN3uZDzQ826uqo9svmNK3WoiaP7Cj9Bn0RUuUIwfDvSOdiwKx3uvVBDX/Vu1tugQhgroF/dCNmbMQz7vLlkAPFrWqK/2lYe7MMUyDcSOmycKnNlW5HO23KmtUybL3II9IWtJQY6jm7CZhhB5BqbnTPTX0zXUglyLW+emOZaC8vwUUtgy2drOPNFNX8XTmAobU/vcPOHM5S1Z2TG+R8B9QXhwpLanGKJ3SOcut6aSQBgb3cT9IaCjrGK0jL6O0oIM6u6kenn7fuiF9mCXpHePCGFrHMK3j3Ki2Or5KX6tL4GEvK2PWtsuCpnOZn09mS0DRJfXCjVRHMss9nO4ebzTK0vgTvP2zuZnS84f3nVYCYA6BrefE+yK9ZCSX9PZue8mz/cwP3Mjtdu/yOgPgqDPnpFZusQYfbIsFCcOnmRANF7uZs8dIxVlPkPl5c0TphZVY5MD77fSxxmnFmSCIZzQtY5BR8MvCrYgPgpEvJRJlkvCOpvOKe1BOPnvHFsEzZLckumq9ls7wVb5EvgzrMdRHTvjSzLnY2RQh1hatj5lAiCtpuuBT3BtJs7XNy8Hphy+x8B9VEYLJ0LOoJCmdkj24aJBGsJ9nY3afOzGCb/ZRyiBIDpTZB2xc7Oqm5kevD9nnOKkdsL4KYIWecVcKuQ8WByFsTXkj4I1NTlbowL8SY3ZJ3ThM177XNtnAG8mCKKv3ngCWMB+pSRZjA17HybBMjrzfOVdrm5w+U9pEr8j4D6bDBTmfuAAACzR6Rh/fsrWrLHu0lzWmEhIeu7CfUpminCWD0zq8qRqeft+6SNCALYvtdmDhGgtdKLU8Ctils+b4jlyxwwAZB8qCafMJLkCWKzvegiGm8ef0wuAoSvsdj5tiWg/C5V+pjCBKUPE+Cp2/8IqM8GM5WZgxRmjwiCUseryR7vJu+Coj7UZ6yrHs1LWnpWlSPTz9v3H1I1Hk4sT9uJcT0OtjV7yDqvgFuV/Qz4js+05iTmhyFedBMNA9+y2aTzOlvkS+DN40/YexdB9SiLnU8pI/JslmnjLIneojBBQauXxcV3bv8joD4bzFQGr8chfFpi9sjepiU17WRvd9OvXYQSIHJDIsB0EjOrupHpwfd92usba+9bJILUxfEVNwlZ5xVwqwz9s3PtfN64yfWbxItuYjg3LUw24laf0kVUAm8evxe5nrn1iSgWZ77bU6stBBc9EyPdFHaE2KfzrXfd/kdAfSaYU5m69Go1mzB7pO+Zn5iMIHu7m37tIhRAbTsBcL2LnlXlyPTg+zp/v9cLXZgEsAUqqkKC/ObqQg0E8NPkL1src4q0sop5KNeMBNowC+EspjRknbmZtWT1FwQLgEeXVYxQ6PODQ4LYSbl7ZMIPupvYVaj/bVc3Mvs8w6n91T6zykb6VQXR1C7dVMulmytmAuwieP9blS+eHkLf5zRcU19kKrtdYt1d8OHnfc6esy5nLzltr4zxaMGVQWplqRI1eN4nYeeyupdmb42/rA8msAgeIfhC/Q7D7wvkZLTjzWo7klRxKdk+QSUWda/0v7nd8m6QYETwCMEXqZSpNiICvIvpYQKENcY1ZJNTVe3lRgKpsO3bUMr5xjNhjbFhjY6qliQC043bzjK3T6xSQZDTG1SwgkYDk0s3GIraqi0Mpjes0VnWkuKbLRa6xhSqL/DjUpYmrgUtLbR7xoh2YOvhosfi5Xx7X+tSsl2YG1zZOauf/PD9nOepj/n9TJqBAOVrolumc+kG7dCbu3NLJhrT61JeD84oOdQXvkGpofoCQY0EQWmh5IZiSVXySfTTFJdS6RmUCKWGRCjV6Sggto/0+7Upc8rW/VCCEcHJpRpSlfPEvFVMY3pdaCXSwjiLuggEZRNo3QMrH5XwCsVGf3hHSSW0bAKlvkwJJ5h7yuTGVnpWgrw4uZQKZQXYbqYxvS4lh6BrMxCVr1RGlyjhhYqT6BKsLuXe3KKJq0A5R3QblPgWK0GR4vJichlXlcRo4JRfJQRPl4lTySWhgaXyHadlWAkPfd/v+E654Pt8Hx9wWd9NXO76QInZHkjNnN4MIgNLCWwu1WD7cPd07vw3fs1fKNjuIKbt8Yu9So2vL1BkmVTedinhJNOjbNVSKRWKm4ckjc1VTtIXOUsKZhMJMjYVC5NLNZCLHmW7Xe/XrTWMWAjKPojS7RqqL2B8XdkiMQdmDaqi9BfCifA8YCpMwQQAdMFULtOgstmlZGtNdJie6QuQ37cKmvPcm/z4Q6S7lOxA/X3O4MKGqmjyAzhVEXX08r74v8vty89+wlmfiaMQX3z5U84SXxzC6U/tuz7/KXeJw6O7ZgJENakKeihQoOOImxqSjwa8thLANaoqKNmR2HeTo6mE4IiBpaQ+jUCfV++WOEGnp9mSnOf3i5gEuSzuViibEF1XaabaCiQmmmYMLwsSn6WRzvbUhocc9leEKXH21SUwCeaFu9kmJmG+MbWpn6CzI62+j0mkmdBZIwnSxj4HwcBZijvLPVxG2JLWHDbBvGzgJKzIRLcYHPtSR5AnM9E0P7gxcy9HmzU7IMRcFqWlYayBgCnxYhPMM4SfgClr1h0CcBLZZSKGAMn9BJATB0rTeoxCCD3zBXx+SiZMiReb4MUmMFIfUphodqnrNRHrs2IS1aAlFY3G6ViYOszsD3gPyglT4sUmeLEJjOAZJ7ENS0w0uxiaFicWarRE3/5icCicJI4PzVQRluN1CFPiwySYZwibwCCJE88m09kYdgFkm0QAMHfG1fk5BcyUqE3w0yYx0QTOQzT8dOyLzzkLx45ezlH8m2vdZR36/nIcKZspqPWg9giFVYg+Dx4JYfWnB0cUwuZHv/cAEKMLNj88OKLQ5gEwCg+A9k+CJS2Kz14TeLnrlSeJPAD3PgnXlX6O50lS/D1DwAXdnkFJCDGI+wbeMzzM6uHKqaJWzg9s8vl2qCROV5WflnJ3upyx5b6I6igptvhsbUqApIfV80lwKM71Eil8faDPE16y8zgh750v4tFbe967J2InPiByj3fR9Slc1E9Ld0al6kUDSu3SdrbkVb0kS1O38raN0kp5QKSd95DWT8HC2/n1ncjbY74Ixu0XQjy55w0Qc1UBEdsC+4nmwz4B55WL8fBU523FRM/GSVtFBq/8LUfERmkARViFeORBn6rXCemgH5fWKepxho7tD52QOpRCL0PXtugNogV+70PEzED8SF8nNBt9zzMZ6IgQKXBcETh6eV/83wOCL44KVn/5v6edrPmLo5TlAwA=)

Add the **Spaces Camera Pose Provider** component to the scene and use the `GetPoseFromProvider` function to retrieve the camera pose associated with the **AR Camera Manager**’s latest `frameReceived` event. The provided pose is relative to the **XR Origin**’s coordinate system.

### Sample Code

Retrieves the extrinsics of the selected sensor and displays it in the application UI.

public SpacesCameraPoseProvider PoseProvider;
    public Text[] ExtrinsicPositionTexts;
    public Text[] ExtrinsicOrientationTexts;
    
    private Pose _extrinsics;
    
    private void UpdateCameraExtrinsics()
    {
        if (PoseProvider.GetPoseFromProvider(out _extrinsics) == PoseDataFlags.NoData)
        {
            Debug.LogWarning("Failed to acquire camera extrinsics.");
            return;
        }
    
        var position = _extrinsics.position;
        var orientation = _extrinsics.rotation.eulerAngles;
        ExtrinsicPositionTexts[0].text = position.x.ToString();
        ExtrinsicPositionTexts[1].text = position.y.ToString();
        ExtrinsicPositionTexts[2].text = position.z.ToString();
        ExtrinsicOrientationTexts[0].text = orientation.x.ToString();
        ExtrinsicOrientationTexts[1].text = orientation.y.ToString();
        ExtrinsicOrientationTexts[2].text = orientation.z.ToString();
    }
    Copy to clipboard

**Spaces Camera Pose Provider** can also be used as a pose provider for a **Tracked Pose Driver**.

## Retrieving Sensor Intrinsics

The camera manager’s `TryGetIntrinsics` function returns an `XRCameraIntrinsics` object which describes the physical characteristics of the selected sensor. For detailed information about `XRCameraIntrinsics`, please refer to the [Unity documentation](https://docs.unity3d.com/Packages/com.unity.xr.arsubsystems&#64;4.2/api/UnityEngine.XR.ARSubsystems.XRCameraIntrinsics.html).

### Sample Code

Retrieves the intrinsics of the selected sensor and displays it in the application UI.

public Text[] ResolutionTexts;
    public Text[] FocalLengthTexts;
    public Text[] PrincipalPointTexts;
    
    private ARCameraManager _cameraManager;
    private XRCameraIntrinsics _intrinsics;
    
    private void UpdateCameraIntrinsics()
    {
        if (!_cameraManager.TryGetIntrinsics(out _intrinsics))
        {
            Debug.LogWarning("Failed to acquire camera intrinsics.");
            return;
        }
        ResolutionTexts[0].text = _intrinsics.resolution.x.ToString();
        ResolutionTexts[1].text = _intrinsics.resolution.y.ToString();
        FocalLengthTexts[0].text = _intrinsics.focalLength.x.ToString("#0.00");
        FocalLengthTexts[1].text = _intrinsics.focalLength.y.ToString("#0.00");
        PrincipalPointTexts[0].text = _intrinsics.principalPoint.x.ToString("#0.00");
        PrincipalPointTexts[1].text = _intrinsics.principalPoint.y.ToString("#0.00");
    }
    Copy to clipboard

## Tips to increase performance

The Camera Access operations can be computationally expensive, either due to a large image resolution or due to the nature of the algorithms used.

- When converting the image with `XRCpuImage.Convert`, provide `XRCpuImage.ConversionParams` with smaller `outputDimensions`.
- When processing the image with `XRCpuImage.GetPlane`, consider subsampling the data buffers with a common factor.
- Consider processing the image with `XRCpuImage.ConvertAsync`, which avoids blocking the main application thread during conversion.

Snapdragon Spaces offers a **Direct Memory Access Conversion** setting, which changes the way `XRCpuImage.Convert` and `XRCpuImage.ConvertAsync` read and write data. By default, Snapdragon Spaces moves frame data using `Marshal.Copy`. Enabling this setting allows Spaces to use `NativeArray<byte>` direct representations of the source and target buffers instead. This setting can be found in `Project Settings > XR Plug-in Management > OpenXR (> Android Tab) > Snapdragon Spaces > Camera Frame Access > Direct Memory Access Conversion`. Enabling this setting may improve performance on certain devices, though it may negatively impact performance on other architectures.

## Retrieving Additional Sensor Data

The **Spaces AR Camera Manager Config** exposes the number of camera sensors in the device using the `GetActiveCameraCount` method. This information could be relevant for differentiating between dual devices and VR devices, and for appropriately handling the camera image.

Last Published: Jun 06, 2025

[Previous Topic
Spatial Anchors](https://docs.qualcomm.com/bundle/publicresource/80-88642-11/topics/features_anchors.md) [Next Topic
Composition Layers](https://docs.qualcomm.com/bundle/publicresource/80-88642-11/topics/features_compositionlayers.md)