Search Unity

Official Unity ARKit support issue with iOS 16

Discussion in 'AR' started by nickrapp, Sep 10, 2022.

  1. nickrapp

    nickrapp

    Unity Technologies

    Joined:
    Oct 5, 2015
    Posts:
    54
    As part of validating Unity against the upcoming iOS 16 release, we have discovered a timing issue in Unity's implementation of ARKit. The issue causes camera frames to arrive out of order, leading to an unstable camera feed. This issue affects all Unity titles using ARKit. We have a fix, which will be available in Unity ARKit package versions 4.1.11, 4.2.5 and 5.0.1, as soon as they pass QA validation. Affected developers will need to update to a fixed version and resubmit your applications.

    We know this is an inconvenience, and a possible impact to your business, as many of you have applications that will break when iOS 16 is launched next week. While issues like this are not uncommon with large OS updates like this, we should have identified the issue sooner, and reacted faster. We can do better and will be evaluating steps we can take to ensure this doesn't happen again in the future. In the mean time, we are working with Apple to help you get titles updated and through certification as quickly as possible.
     
    Last edited: Sep 10, 2022
    makaka-org, newguy123 and KyryloKuzyk like this.
  2. Adam_R_

    Adam_R_

    Joined:
    Apr 23, 2019
    Posts:
    5
    I first submitted a bug for this with iOS 16 Beta 1. Back in June! https://github.com/Unity-Technologies/arfoundation-samples/issues/988.

    I had hoped this would have already been on your radar as it was an obvious issue when running even arfoundations samples repo on iOS 16. Why did your own QA/Testing not pick this issue up? Do you have any processes around testing/validating new versions of iOS/Android?

    I was also hoping that my ticket might be picked up a bit faster as it was a major issue with an upcoming system release. Is there a way to get tickets expedited or mark them critical?
     
    babinowich likes this.
  3. yoh-mizutani

    yoh-mizutani

    Joined:
    Sep 5, 2018
    Posts:
    5
    In my project, upgrading the ARF version did not solve the problem.
    After isolating the problem, I found that the problem occurs when using ARCoreExtensions and using the arcore geospatial API.
    I reported it on the ARCoreExtensions side, but I thought it might be related to this issue reported on ARF, so I am reporting it here as well.

    Below is the Issue to ARCoreExtensions.
    https://github.com/google-ar/arcore-unity-extensions/issues/89
     
  4. kittphi

    kittphi

    Joined:
    Feb 17, 2019
    Posts:
    4
    Just updated to iOS version 16.3.1. Getting Black Screen in the background. :(
     
  5. andyb-unity

    andyb-unity

    Unity Technologies

    Joined:
    Feb 10, 2022
    Posts:
    1,062
    @kittphi some troubleshooting steps:

    * Update to latest patch of AR Foundation and ARKit packages (specifically important that you use 4.2.7 or newer for 4.2, or 5.0.3 or newer for 5.0)
    * Make sure your scene contains AR Session, XR Origin, ARCameraBackground, and ARCameraManager as described here: https://docs.unity3d.com/Packages/c...ion@5.0/manual/project-setup/scene-setup.html
    * If using URP, make sure you update to the latest patch of your Unity Engine. (Specifically there is a known black-screen bug in URP on Unity 2022.2.0f4 and below). Also make sure you add the AR Background Renderer feature as described here: https://docs.unity3d.com/Packages/c.../project-setup/universal-render-pipeline.html

    Hope that helps!
     
  6. makaka-org

    makaka-org

    Joined:
    Dec 1, 2013
    Posts:
    1,026
    I am not sure, but I'll clarify anyway.

    Does ARKit package within AR Foundation use WebCamTexture inside to provide Camera Feed on the Background of scene?

    If it uses, then the bug was not solved for WebCamTexture itself (without AR) for Unity 2021 LTS, 2022 LTS, 2023.2a17.

    If it's not, then there is another same bug with WebCamTexture itself (without AR).

    More noticeable for the front camera, and after the several device orientations changing. iPhone XS Max.
     
  7. andyb-unity

    andyb-unity

    Unity Technologies

    Joined:
    Feb 10, 2022
    Posts:
    1,062
    No. It uses the custom material that you pass to the AR Camera Background component: https://docs.unity3d.com/Packages/c...manual/features/Camera/camera-components.html, or the provider plug-in's default shader if you don't override it.

    Our default shaders for ARCore and ARKit camera background are open source and included in the respective packages.
     
    makaka-org and KyryloKuzyk like this.
  8. BrothersPicuresGame

    BrothersPicuresGame

    Joined:
    Apr 1, 2021
    Posts:
    1
    I don't know if it was about ios 16. But iphone 11 with ios 16.6 cannot get AR for user facing camera

    Try using the chooser result in these

    Code (CSharp):
    1. No Camera Floor Offset GameObject specified for XR Origin, using attached GameObject.
    2. Camera "AR Camera" does not use a Tracked Pose Driver (Input System), so its transform will not be updated by an XR device.  In order for this to be updated, please add a Tracked Pose Driver (Input System) with bindings for position and rotation of the center eye.
    3. Configuration Descriptor 0x2089d4770 (rank 2): Rotation and Orientation, Plane Tracking, Light Estimation (Ambient Intensity), Light Estimation (Ambient Color), Raycast
    4. Configuration Descriptor 0x2089d5b20 (rank 0): World Facing Camera, Rotation and Orientation, Plane Tracking, Image Tracking, Object Tracking, Environment Probes, 2D Body Tracking, Human Occlusion Stencil, Human Occlusion Depth, Collaboration, Auto-Focus, Light Estimation (Ambient Intensity), Light Estimation (Ambient Color), Raycast
    5. Configuration Descriptor 0x2089d6d90 (rank 1): World Facing Camera, Rotation Only, 2D Body Tracking, Human Occlusion Stencil, Human Occlusion Depth, Auto-Focus, Light Estimation (Ambient Intensity), Light Estimation (Ambient Color)
    6. Configuration Descriptor 0x2089d4540 (rank 1): World Facing Camera, Rotation Only, Image Tracking, 2D Body Tracking, Human Occlusion Stencil, Human Occlusion Depth, Auto-Focus, Light Estimation (Ambient Intensity), Light Estimation (Ambient Color)
    7. Configuration Descriptor 0x2089d40e0 (rank -1): World Facing Camera, Rotation and Orientation, Plane Tracking, Image Tracking, Environment Probes, 2D Body Tracking, 3D Body Tracking, 3D Body Scale Estimation, Auto-Focus, Light Estimation (Ambient Intensity), Light Estimation (Ambient Color), Raycast
    8.     Requested Features: User Facing Camera, Auto-Focus
    9. features not satisfied: User Facing Camera
    As you can see, it only return World Facing Camera. It seem like the AR system did not get selfie camera from the start
     
  9. andyb-unity

    andyb-unity

    Unity Technologies

    Joined:
    Feb 10, 2022
    Posts:
    1,062