Page Info
Skill Level:
Engine Version:

Google VR and Daydream Devices

Choose your OS:

Google has a provided a very detailed document that goes over everything you need to know to get the most out of Daydream. You can find the documents by going to the Offical Google Daydream Unreal help site.

While Google VR can work for almost any Android based device, there are certain features that will only work with Daydream devices. In the following section, we will take a look at these features and what you have to do to use them in your projects.

Downloading Google VR UE4 Branch

To get all of the pre-built functionality Google Daydream VR offers you will need to download and compile a special version of UE4 that you will find linked below. This version of UE4 contains the needed code and assets that are required to display the Daydream Motion Controller in the manner Google wants it.

Once you have downloaded this version of UE4, follow the directions for the Downloading Unreal as a Zip from Github page to complete the rest of the setup process.

Android NDK 12b

To access the full functionality of Daydream, you will need to download and install the Android NDK version 12b.

Once downloaded and installed you will need to point UE4 to the new NDK files by going to the Android SDK > SDKConfig section and changing the NDK path to the new NDK 12b install location and set the SDK API level to matchndk and the NDK API Level to android-24.

Click for full image.

Scanline Racing

Scanline Racing is a feature specific to Daydream devices that when enabled helps to reduce latency in your VR project. To enable Scanline Racing in your Google VR project for Daydream devices you will need to do the following.

  1. Open up your Project Settings and go to Platforms > Android. Under the APKPackaging section, set the following:

    • Minimum SDK Version: 24

    • Target SDK Version: 24

    Click for full image.

  2. Under the Build section change the following:

    • Support armv7(aka armeabi-v7a): Disabled

    • Support arm64 (aka arm64-v8a): Enabled

    Click for full image.

    Enabling this will add significant time to your first cook as the arm64 libraries need to be compiled.

  3. Then under the Advanced APKPackaging section and enable the following options.

    • Configure GoogleVR Deployment Mode: Daydream

    • Configure GoogleVR for sustained-performance mode (scanline racing): Enabled

    Click for full image.

Then next time you cook your UE4 project and deploy it to your Daydream device low latency rendering will be enabled.

Motion Controllers

Working with Motion Controllers for Daydream devices is much like working with Motion Controllers for the HTC Vive or Oculus Rift. To quickly add Motion Controller functionality to your UE4 Daydream project you need to do the following.

For a more in-depth look at how to use the Google Daydream Controller Motion Controllers in UE4, make sure to check out the Offical Google Arm Model Documents page for more information on how to use the Arm Model.

  1. First, open up your project's Plugins menu and under the Input section, enable the Google VR Motion Controller plugin.

    Click for full image.

    Please note that to use the Plugin you will need to re-start your UE4 Editor. Failing to do so will result in you not being able to use the Google VR Motion Controller.

  2. Next, open up your projects Pawn and add the GoogleVRMotionController Component to the Components list. When completed your Pawn's setup should match the following image.


    The Motion Controller component should use the same position and height of the VR Camera.

  3. When you run your project, your motion controllers should look similar to the following image.

    If you are using the 4.14 binary build of UE4, the above content will be missing, and you should instead use the standard Motion Controller component. All of this functionality is included with the 4.15 and later releases of UE4. If you need to this functionality now, you will have to download and compile the, UE4.13 Google VR version .

Now that you have a Google VR Motion Controller component on your Pawn, you can edit and adjust how the Motion Controller's function by searching for Google VR in the Blueprint Editor and using the nodes that you find.

Training Streams

These Training Streams help to provide some additional resources on setting up your Motion Controllers and creating interactions in VR using Motion Controllers.