Topic locked

Known issues with Unity 2019.1

April 30, 2019 - 7:36am #1

We are aware of the following known issues with Unity 2019.1. These issues have not been observed with Unity 2018.4, so if you're impacted we recommend to stay with that version.

Issues seen with Unity 2019.1.x with Vuforia Engine 8.1.X and 8.3.X:

  • When running apps on iOS devices with the A10 processor or lower (e.g. iPhone 6S, iPhone 7, etc.) that have been developed with Unity 2019.1, Metal rendering API and ARKit (via Vuforia Fusion), the CPU load on that device can increase to a point where severe camera lag and/or dropped camera frames can be observed when running the device tracker. This can impact features such as Model Targets, Ground Plane, 3DRO and Extended Tracking.
  • PROPOSED WORKAROUND:
  1. Open File->Build Settings...->Player Settings...
  2. Select "Resolution and Presentation"
  3. Select "Render Over Native UI"

By default, "Render Over Native UI" is not checked. Checking this will execute the original code pathway (without the change that introduced this regression), with the exception of setting the surface to opaque, which could be undesirable. This can be fixed by commenting out some code from this MetalHelper.mm in the created xcode project:

#if !PLATFORM_OSX
    if (UnityPreserveFramebufferAlpha())
    {
        const CGFloat components[] = {1.0f, 1.0f, 1.0f, 0.0f};
        CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
        CGColorRef color = CGColorCreate(colorSpace, components);
        surface->layer.opaque = NO;
        surface->layer.backgroundColor = color;
        CGColorRelease(color);
        CGColorSpaceRelease(colorSpace);
    }
    //else
#endif
    //{
        //surface->layer.opaque = YES;
    //} 

Issues seen with Unity 2019.1.x with Vuforia Engine 8.1.X that were fixed with Vuforia Engine 8.3:

  • App fails to resume on some Android devices after confirming the camera permission dialog. This is seen on many Android devices, but not all. Pause-resuming the app will continue it, the app will also load fine on the second run if the permission has been granted before. A workaround exists:
    • Enable "Delayed Initialization" in the Vuforia configuration
    • Disable the VuforiaBehaviour component on the ARCamera in your first AR scene
    • Add the attached RequestPermissionScript.cs to your ARCamera. This script will request the Camera permission using Unity's own APIs and initialize Vuforia only after the permission has been granted.
  • In some cases, Vuforia scenes take longer too load on iOS than expected. This is not seen consistently. Investigation on the root cause for this issue is still ongoing.

Issues fixed in Unity 2019.1.4f1:

Thanks,

Vuforia Engine Support

AttachmentSize
Package icon RequestPermissionScript.cs_.zip502 bytes
Topic locked