This section provides several tutorials to help you learn how to use the VIVE Wave™ SDK to develop VR applications to run on Android devices.

The VIVE Wave™ runtime is constructed using a 3-way client-server-pluginkit architecture.

  • The client is the interface that accesses the runtime and builds the content scene and logic.
  • The server is the runtime core that routes the tracking data of VR accessories to the client and manages the common properties, resources, and settings of the VR system.
  • The pluginkit is the device driver of the VR accessory that sends tracking data and user interaction data to the runtime.

In one Android device, multiple client applications can connect to the same server that has multiple VR device drivers plugged-in. Upgraded servers and plugins are backward compatible with previously published client applications. This backwards compatibility makes it easier to maintain the server and extend VR accessories.

When developing an application, you can use the activity type: com.htc.vr.sdk.VRActivity. The design of your application will determine the activity type. The client activity will start the server in the background for your application, and generate an OpenGL context for your content to draw.

To access the life cycle of VRActivity, your project needs to compile with wvr_client.aar. Add this in your build.gradle:

apply from: "$projectDir/build_sdk.gradle"

repositories {
        dirs 'libs'

dependencies {
    compile 'com.htc.vr.aar:wvr_client.aar'

After your build environment is prepared, go through the advanced tutorials below.

Advanced Tutorials

VRActivity with Native Code Creating an application using JNI
Developing with the SDK Describe SDK API further
Render Runtime Tutorial The usage of render runtime
Distortion Correction Theory For the distortion theory explanation
PermissionManager How to use PermissionManager
IMEManager How to use IMEManager
Developing with the SDK Overlay How to use WVR Overlay
Protect Your Content How to protect your content
Pose Prediction How to enable pose rotation/position over different devices
How to support 64bit VR AP How to let your VR AP support 64 bit
64 bit Support Limitation Notice the 64bit support limitation
Debug your application How to debug your application
Fade current Activity Fade current Activity when start a new Activity.