Enabling 6DoF head tracking in Unity

This feature requires Unity 2017.3 or later. To enable 6DoF head tracking in Unity:

  1. Verify that you are using Unity 2017.3 or later.

  2. Go to Player Settings > Android > XR Settings > Virtual Reality SDKs > Daydream > Positional Head Tracking and select either Supported or Required.

    • Choosing Supported means that your application will work in both 3DoF mode and 6DoF mode. Choosing this option adds the following to your manifest:

        <uses-feature
         android:name="android.hardware.vr.headtracking"
         android:version="1"
         android:required="false" />
      
    • Choosing Required means that your application cannot be used without 6DoF tracking. Choosing this option adds the following to your manifest:

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

Note that WorldSense, the technology that powers 6DoF tracking on Daydream Standalone, uses a safety cylinder which limits the user's movement to a small area.

Performance implications

6DoF head tracking is more sensitive to application frame rate than 3DoF head tracking. Application framerate inconsistency is also more noticeable to the user in 6DoF. If the frame rate is too low, the application may fail the certification process.

Performance recommendation:

  • In 6DoF apps should target 75 FPS. Drops below 60 FPS will likely cause noticeable visual artifacts and user discomfort.