Quest update breaks input and hand tracking

Hey all, this morning my Quest received the tracking update. I went to test it with my project and suddenly… no input detected.

Oh yeh, and only one controller tracks at a time now. I can pick which controller gets tracked by holding a button on that controller down.

Finally, the peripherals of the screen seem to get cut off… before the edges were noticeably curved, now they are straight edges which results in some of the fov being cut off.

Anybody come across this problem or have a fix? I’m using just the normal unity input system and the legacy XR helpers (Tracked pose drivers).

2 Likes

For anyone else who has this problem, someone on reddit gave me the solution: With oculus beginning to add go emulation support, my app was being treated as a go app. You need to alter the android manifest and put it in Assets/Plugins/Android/.

More specifically, the manifest needs to include

7 Likes

Thanks for posting this. I’m sure I would be running into this soon and would have been just as baffled.

Any more info on this problem? I’ve added a custom manifest with the specified and also provided an edited gradle with the correct SDK references but I’m still getting “GearVR or Go = True Quest = False” when OVRGradleGeneration is triggered.

1 Like

@PsychoStuey thanks for your solution, I also just updated the Unity editor to v2019.1.12f to be sure, so at least this combination of a new Unity editor and the Android manifest file update works for me.

I spent my whole day off yesterday to get movement working and I could barely move. When moving my thumbstick I could only move forward a few cm.'s in the virtual world instead of meters. I also noticed that sideloaded apps like QuakeVR and Pavlor VR were behaving very weird with movement or not reacting at all. So I expect a lot of apps having issues now.

OMG im so happy I ran into this thread, I was ready to throw my Laptop out of the window. I spent about 12 hours trying to figure this out. Thank you so much

1 Like

If anybody runs into this issue just these are steps I took to get this working.

  1. Make sure OVR camera is set to oculus quest not go/gear vr.
  2. Make sure you have a folder named plugins with another folder innside named android and in the android folder is where the manifest belongs. Don’t have a manifest. Just go to your project folder>Temp>Staging Area. There should be an android manifest that you can copy and paste into the Plugins>Android folder.
  3. Add
    to the manifest.
11 Likes

Thank you! After failing to have any luck with the other solutions this did the trick.

Bump. Spent about eight hours this past weekend trying to figure out why my hands just stopped working. These instructions fixed the issue.

I’m really hoping that this explains why none of my new input classes are working on the device - I’ve bee debugging this for days only remembering that there was a controller update tonight…

FYI to get the latest plugin via plugin manager (1.38.1 at the time of writing) I had to upgrade unity (to 2019.1.12f1). This is different to the Menu → Oculus → Tools → Update OVR Utilities Plugin, or at least, that still returns 1.36

Yep, adding that line and using a custom manifest, I now get 2d axis co-ordinates. I may add a gradle mod so that this line is always added and no custom manifest is then required.

1 Like

thanks for this, have been wondering why it kept defaulting to Go setup

1 Like

What does this mean for us if we develop an app to run on the Oculus Go AND the Oculus Quest separately using native Unity VR? Will be getting an Oculus Go soon to test and compare

I like this solution best. Saves you from having to build your project.

Find the AndroidManifest.xml file in the Plugins/Android folder. Then update the least 2 lines with this:

    </application>
  <uses-feature android:name="android.hardware.vr.headtracking" android:required="true" android:version="1" />
  <uses-feature android:glEsVersion="0x00030001" />
</manifest>

That is insert the two lines:

between the application and manifest lines. Then you do not need the full manifest generated, which will properly work better in the long run.

1 Like

I suspect you will have to make two different builds… but not sure. Seems likely you would have to do that anyway though?

Hi, Oculus should get an asset update for Unity 3D, right? Do you know when?

Thank you!!!

tried to follow the instructions but it’s still not working for me, i still get the one controller only + square display…
can anyone point out what i’m doing wrong?
i didn’t have any plugin folder so i made one and added the android folder inside, made a file (tried naming it manifest.xml and copying the names from my temp/staging area folder but didn’t make any difference - though all import fine)
tried copy pasting the code

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.DefaultCompany.FNRemake"
android:versionCode="1" android:versionName="1.0" android:installLocation="auto">
<application>
<meta-data android:name="com.samsung.android.vr.application.mode" android:value="vr_only"/>
<activity android:screenOrientation="landscape"
     android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
     android:configChanges="density|keyboard|keyboardHidden|navigation|orientation|screenLayout|screenSize|uiMode"
     android:launchMode="singleTask"
     android:resizeableActivity="false">
</activity>
</application>
<uses-feature android:name="android.hardware.vr.headtracking" android:required="true" android:version="1" />
<uses-feature android:glEsVersion="0x00030001" />
</manifest>

or

<?xml version="1.0" encoding="utf-8"?>
<!-- GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAIN-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.DefaultCompany.FNRemake" xmlns:tools="http://schemas.android.com/tools" android:installLocation="auto">
  <supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:xlargeScreens="true" android:anyDensity="true" />
  <application android:label="@string/app_name" android:icon="@mipmap/app_icon" />
    <uses-feature android:name="android.hardware.vr.headtracking" android:required="true" android:version="1" />
    <uses-feature android:glEsVersion="0x00030001" />
</manifest>

neither made any difference.
i’m using unity 2019.3.0a7

if i call the file AndroidManifest.xml it returns an error after trying to build
“UnityException: Could not find any valid targets to launch on for Android”
but it exports to my quest if i use another name… just doesn’t fix the tracking issue


Hi, you have to create those folders in the “assets” directory. Then you must go to “C: \ Program Files \ Unity \ Hub \ Editor \ (or the version you use) 2019.1.12f1 \ Editor \ Data \ PlaybackEngines \ AndroidPlayer \ Apk” and copy that “AndroidManifest.xml” into the folder " Assets / plugins / Android "that you have created.
Now you must open that manifest and add these lines:

   </application>
  <uses-feature android:name="android.hardware.vr.headtracking" android:required="true" android:version="1" />
  <uses-feature android:glEsVersion="0x00030001" />
</manifest>

That’s how it works for me but my hands don’t appear. Even so I can manipulate objects and everything else.

1 Like

Thanks,this worked for me.

All right! :):):slight_smile: Now to wait for an update of the Oculus asset … Because this, although it works, is a fudge …

For those who are still struggling with this, it looks like the latest Oculus integrations if you go to Oculus → Tools → Create store-compatible AndroidManifest.xml has the fixes in the XML already. I was able to just click that, it build out the Plugins/Android folder along with the correct lines for headtracking, etc.

Hope this helps!
Alan