Showing results for 
Search instead for 
Did you mean: 

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

Level 2

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.


Level 2
Check out the solution described in this thread -

I can confirm it works in my projects and I had the exact same issue you described. 

Level 2
@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]

Level 2
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 @ZahCraft :

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   :

Download Uber APK Signer from here :

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 🙂