Daydream to WaveVR

These 2 sections will teach you how to port a mobile application (Daydream) to the VIVE Wave™ platform.

  1. Unity project setting and Importing of WaveVR SDK Package
  2. Replacing the Camera and Controller with WaveVR

Unity Project Settings and Importing the WaveVR SDK Package

In WaveVR, import the SDK and edit the project settings.

Unity Project Settings

In “Build Settings”, make sure “Platform” is set to “Android”.
_images/portingguide_Buildsetting.png
In “Player Settings”, turn off “Virtual Reality Supported”.
_images/portingguide_project_setting.png

Importing the WaveVR SDK

Download the latest WaveVR SDK and import it.
_images/portingguide_import.png

Replacing the Camera and Controller to WaveVR

Adjust the following components:

  1. Camera
  2. Controller

In WaveVR, Camera is a specific prefab so you need to replace the Main Camera object with the WaveVR object and delete the related scripts from Daydream.

From:
_images/portingguide_daydream_camera.png
To:
_images/portingguide_reprlace_daydream_camera.png

Controller

Check the button comparison and follow the steps below to replace the controller script.

GVR Controller Compared with WaveVR Controller

In the GVR controller API, there are different states.

_images/portingguide_gvr_controller.png

In WaveVR controller API, there are:

  1. Touch button
  2. Trigger button
  3. Menu button

GVR directly retrieves the status of the controller through the use of variables. However, WaveVR uses “device” type, “buttonId” mask, and functions to get the states.

if (WaveVR_Controller.Input(device).GetPressDown(buttonId))
{
    // if button with buttonId is press and held.
}

You can check the WaveVR controller section for more details.

Note: WaveVR supports multiple VR devices. Some buttons don’t exist in actual devices so the button states may always get “false”. For example, there is no Grip button on the Link controller.

_images/portingguide_button.png

Replace GVR Controller with WaveVR Controller

There are two ways to do it.

Use Default Controller Prefab

Delete all of the Daydream controller scripts and add prefabs named Link_6DOF_Controller_MultiComponent_L and Link_6DOF_Controller_MultiComponent_R to the scene.

_images/portingguide_add_wavevr_controller_prefab.png
Use Controller Script Only

In WaveVR, the controller orientation directly affects the object orientation that has the WaveVR_PoseTracker script. You will need to add the “WaveVR_PoseTracker” script to the new game object that you want to be affected by the controller.

_images/portingguide_add_posetracker.png