Search Unity

ARFoundation in non-supported device

Discussion in 'Handheld AR' started by TiagoAlvesPretia, Apr 24, 2019.

  1. TiagoAlvesPretia

    TiagoAlvesPretia

    Joined:
    Oct 4, 2017
    Posts:
    4
    Good Afternoon,

    I'm having a small issue with camera feed in the oppo r15 neo.
    I have a scene where I get the camera feed from the phone and show it in a texture.
    In a device that supports AR, it is working correctly however in the oppo r15 neo isn't working. It is possible to get through the ARFoundation the camera feed even if the phone doesnt support tracking and other stuff (I just need the feed)

    Other solution that i tried, was to use Webcam Textures however I'm getting 0 cams availables even if i disable the ARSession and ARSessionOrigin in my scene.

    Am I doing something wrong or this kind of flow isn't allow?
     
  2. tdmowrer

    tdmowrer

    Unity Technologies

    Joined:
    Apr 21, 2017
    Posts:
    518
    When you "sideload" an ARCore-required app, ARCore reports that the device is supported, so ARFoundation will assume things are working and attempt to blit the camera's video to the screen, so that might be one problem (this cannot happen in a production app obtained from the Play Store).

    I'm not too familiar with webcam textures as it isn't AR-related. You might be able to find some examples or help on one of the other Unity forums.
     
  3. TalespinJoe

    TalespinJoe

    Joined:
    Aug 20, 2018
    Posts:
    8
    Sorry to Hijack this post, but is the sideloading effect similar with ARKit?

    So if we install the ipa through xcode (or build it), will ARFoundation report that the device is supported? (and get stuck on TrackingInitializing?)
     
  4. tdmowrer

    tdmowrer

    Unity Technologies

    Joined:
    Apr 21, 2017
    Posts:
    518
    No, the same issue is not present on iOS. ARKit support and feature set depends on the version of iOS present on the device.
     
  5. TalespinJoe

    TalespinJoe

    Joined:
    Aug 20, 2018
    Posts:
    8
    Ah right. Well in that case, is it a bug that ARFoundation (or ARKit) states that systemstate is ready for devices that are not supported?

    In our case, we tested on a 6th gen ipod touch which indicated that the system is ready (and so, is able to start a part of our app that is made with AR), but gets stuck on the systemstate SessionInitializing.

    So as you mention, I'm assuming ARFoundation only checks if the correct iOS version is installed, but doesn't actually check if the device itself is supported (because apparently, there are plenty of devices that will not work with ARKit: https://developer.apple.com/library...tibilityMatrix/DeviceCompatibilityMatrix.html)

    I'm then assuming this is something we would need to do manually? Or is there an easy way for us to poll for compatibility on hardware level?
     
  6. tdmowrer

    tdmowrer

    Unity Technologies

    Joined:
    Apr 21, 2017
    Posts:
    518
    Sounds like a bug. We use ARWorldTrackingConfiguration.isSupported for the availability check, so that should detect unsupported devices. We'll look into it.
     
  7. tdmowrer

    tdmowrer

    Unity Technologies

    Joined:
    Apr 21, 2017
    Posts:
    518
    I just tried running ARFoundation on a 6th Generation iPod Touch, but Xcode claims
    How were you able to install your app on your iPod Touch?

    Screen Shot 2019-05-21 at 1.54.39 PM.png