Wave PluginKit SDK

The PluginKit SDK is provided to help developers design a VR DeviceService. It encapsulates the communication between a VIVE Wave™ Server and a VR DeviceService. It also provides mechanisms for defining data transmission.

  • The PluginKit has defined several interfaces to make it easier to develop drivers.
  • A VR DeviceService can currently send three types of data (pose, button, and analog) to VR apps.
  • When developing a VR DeviceService, you should define what role your device will play and what data type your device will send.
  • You can decide how to use the tracker. For example, you can use the Android™ sensor manager (sensor.TYPE_GAME_ROTATION_VECTOR) as tracking data, and send the data to the VR App so the tracker will move with the smartphone. Or you can use a different path for the tracker. For example, the path could be a circle or a line.

Pluginkit SDK Developer Guide

The VR DeviceService is responsible for transmitting data from the VR device to the VR application. All VR DeviceServices are managed by a VIVE Wave™ Server.

Lifecycle of a VR DeviceService

A VR DeviceService will transmit data to the Wave VR Server continuously. To optimize your VR application, you should save power or release unused resources when your VRDevice enter onPause().



VRDeviceService is inherited from the Android service component. It is responsible for processing events from the VIVE Wave™ Server. See VRDeviceService


VRDevice is responsible for transmitting pose, button, axis, and proximity data to the VR Application and dealing with events. See VRDevice Guide

Configure Device Capabilities

This section introduces what configuration should be set in Androidmanifest.xml for filtering VR App in Viveport by capability of VRDevice. See Configure Device Capabilities

Pluginkit SDK Documentation

The Pluginkit SDK Documentation provide API reference for Pluginkit SDK. See com.htc.vr.sdk.pluginkit