BUG: Quest shows up as Go - UnityEngine.XR.XRDevice.model — Oculus
IMPORTANT:

All Oculus Quest developers MUST PASS the concept review prior to gaining publishing access to the Quest Store and additional resources. Submit a concept document for review as early in your Quest application development cycle as possible: https://developer.oculus.com/quest-pitch/

For additional information and context, please see "Submitting Your App to the Oculus Quest Store".
Welcome to the Oculus Developer Forums!

Your participation on the forum is subject to the Oculus Code of Conduct.

In general, please be respectful and kind. If you violate the Oculus Code of Conduct, your access to the developer forums may be revoked at the discretion of Oculus staff.

BUG: Quest shows up as Go - UnityEngine.XR.XRDevice.model

Hello,

I am using Oculus Quest  64Gb with Unity 2019.1.0f2. Environment is working with Unity's Android support.
Our project uses Unity's Native XR Support with Oculus packages downloaded from Package Manager. Building and connection to the devices work. We don't use any Oculus made prefabs and the tracking system has worked well with the native one.

" UnityEngine.XR.XRDevice.model " returns wrong string after the last update.

When connected to Quest, it used to return a string as "Oculus Quest" but now it returns "Oculus Go", so there is no way (that I know of) to detect if the hardware is actually a Quest.

Cheers!
-Sakari

Comments

  • ZahCraftZahCraft Posts: 4
    NerveGear
    Check out the solution described in this thread -
    https://www.reddit.com/r/OculusQuest/comments/chjpu5/fix_for_sideloadedhomebrew_apps_and_games_with/?utm_source=share&utm_medium=ios_app

    I can confirm it works in my projects and I had the exact same issue you described. 
  • sakarinausakarinau Posts: 3
    NerveGear
    @ZahCraft that solution removes certificates from the .apk and it cannot be installed. Did I miss something?

    adb: failed to install <path> : Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES: Failed to collect certificates from /data/app/vmdl1653855340.tmp/base.apk: Attempt to get length of null array]


  • sakarinausakarinau Posts: 3
    NerveGear
    Okay so I got this to work after all. Not a long-term solution but to continue development work and to provide users a working solution while waiting the fix by Unity/Oculus

    Recap on the bug:
    New update on Oculus Quest made Quest not include a <uses-feature> used for Quest so it identifies as GO.
    <uses-feature android:name="android.hardware.vr.headtracking" android:required="true" android:version="1"/>

    To fix this issue check steps here, some manual steps removed from the link posted by @ZahCrafthttps://www.reddit.com/r/OculusQuest/comments/chselu/batch_file_to_fix_apk_for_sideloading/

    1. Download the files "apktool.jar" and "fixapk".bat. Put them in same folder.

    2. Drag-and-drop your .apk file to "fixapk".bat, it will decompile it, add the <uses-feature> line to it and compile back to .apk format with added "-fixed.apk" name ending.

    This will remove the Android developer credentials. Next you will need to create new debug credentials for your .apk. If you have a software in an Android store (Google Play or Oculus Store for example) this might not be a good thing to do, as these credentials are packed up with the software to identify the real developer for updates.

    3. Next we need to re-create the credentials, so get Uber APK Signer: 

    Demonstrated here for OS X   :   https://www.reddit.com/r/OculusQuest/comments/chyo1c/shell_script_to_fix_apk_for_sideloading_tested_on/

    Download Uber APK Signer from here : https://github.com/patrickfav/uber-apk-signer/releases

    Tested same on Windows:
    To use APK Signer, you need to have Java 1.8 or higher and you need to go to the folder with cmd.
    Open commandline, and use basic "cd <folder>" commands to navigate to the folder where you downloaded Uber APK Signer.

    4. Use Uber APK Signer to create new Android Certificates on your .apk through cmd while in the correct folder:

    java -jar uber-apk-signer-1.0.0.jar --apks <filepath+name.apk>

    5. Uninstall old software from Quest with the same package name:

    adb uninstall <android-package-name>

    6. Install new, modified and debug certified .apk, Filename should have now "<filename>-fixed-aligned-debugSigned.apk" styled name:

    adb install <path+filename.apk> 


    Should be working!

    3 files to download, have to compile the .apk twice (after initial build). So I would call this a hack, but it makes the software run again so you can keep developing :)

Sign In or Register to comment.