Enabling 6DoF head tracking in Unreal Engine

To enable 6DoF head tracking in Unreal:

  • Go to Settings > Project Settings > Platforms > Android. Scroll to the Advanced APKPackaging section and look for the setting Configure GoogleVR to support specific hardware configurations. Ensure you have an entry for Daydream (6.3 DoF).

    • If you enable only Daydream (6.3 DoF) your application will only work on devices that support 6DoF. The following will be added to your manifest:

            <uses-feature
             android:name="android.hardware.vr.headtracking"
             android:version="1"
             android:required="true" />
      
    • If you also enable Daydream (3.3 DoF) or Cardboard, your application will work in 6DoF mode on devices supporting 6DoF, or 3DoF on other devices. The following will be added to your manifest:

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

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.