Oculus Quest Hand Issues, Object Reference Build Failures, and Building for Unity 2019.2 and above.

by SlideFactory

” If you’re an Oculus Quest Developer and recently updated your device in the last month, you may have noticed a few fun issues: “

Overview

If you’re an Oculus Quest Developer running Unity version 2019.2.9 or above and recently updated your Quest device in the last month (October 2019), you may have noticed a few Oculus Quest Hand Issues or other build related problems:

  1. An issue has resurfaced where only one controller or hand is recognized after a new build.
  2. You have both hands showing but no finger movement or input is received.
  3. You’re getting an “Object Reference not set to an instance of an object” error. It may occur after updating your Manifest and attempting a build.

The Problem – Oculus Quest Hand Issues and Manifest Problems

Over the last few months Oculus Quest Hand Issues and other similar issues have faced the Oculus Quest developer community. This issue has caused multiple issues. Its broken development builds, caused only one controller to function at a time, and has cost developers hours wasted time.

Originally, the fix to the above controller problem was a simple Android Manifest update. Unfortunately, if you’re working in a version of Unity above 2019.2.0f1 you may have discovered a new issue.

After updating your Manifest and rebuilding it’s possible you will see an “Object Reference not set to an instance of an object” error. It may resemble the image below:

Build error

Why we’re here

In this article, we are going to cover how to resolve the Oculus Quest Hand Issues. By the end, we’ll get your build up and working again.

First, similar to the previous fix, make sure you have a folder located in “Assets/Plugins/” named “Android” and that you have an updated Manifest file:

Android Manifest in File System

The Manifest file should resemble the below:

<?xml version="1.0" encoding="utf-8"?>
<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.unity3d.player"
    xmlns:tools="http://schemas.android.com/tools"
    android:installLocation="preferExternal">
    <supports-screens
        android:smallScreens="true"
        android:normalScreens="true"
        android:largeScreens="true"
        android:xlargeScreens="true"
        android:anyDensity="true"/>

    <application
        android:theme="@style/UnityThemeSelector"
        android:icon="@mipmap/app_icon"
        android:label="@string/app_name">
        <activity android:name="com.unity3d.player.UnityPlayerActivity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            <meta-data android:name="unityplayer.UnityActivity" android:value="true" />
        </activity>
    </application>
    <uses-feature android:name="android.hardware.vr.headtracking" android:required="true" android:version="1" />
</manifest>

If you’re curious, other articles going into the specifics of what this file does. For the purpose of this article, the most important line is here:

<uses-feature android:name="android.hardware.vr.headtracking" android:required="true" android:version="1" />

This line should correct the issues you may be experiencing with only one hand being functional on your Quest. Without it, the Quest thinks that you are building an Oculus GO application. When this occurs, it doesn’t understand that you actually have two working hands instead of just one controller.

The Build

Once this new file is in place, go into your Unity Player Settings and scroll down to the XR tab. In the “Virtual Reality SDK” section, look for the “V2 Signing (Quest)” section and uncheck the box. 

Player settings location
V2 Signing Location

Once unchecked, it should look like this:

Uncheck V2 signing

Once this is completed, re-run your Build. If you’re lucky, your build will complete and you’ll be back in business!

At this point, check your build on the Quest and make sure everything is back to normal. Hopefully you’ll have a clean build and will have fixed your Oculus Quest Hand Issues.

For now, enjoy having your hands back and send a “Thumbs up” our way. If you’d like to learn more, check out our recent blog articles on other topics.

Thanks for reading and good luck with you’re development!

Share this article:

You might also like: