roguish

Google Daydream Controller Plugin for HoloLens

Establish a Bluetooth connection between your Google Daydream controller and HoloLens with this plugin for Unity.

Access Accelerometer, Gyroscope, Magnetometer, Touchpad coordinates, and all 5 buttons. An included bridge class processes the raw data into Action events making it easy to respond to button presses on the controller. The bridge class processes the orientation data into a Quaternion allowing you to easily set the localRotation property of Game Objects to match the real-world rotation of the controller. Or, access the raw byte array data from the controller directly!

See it in action here: Video

Get your copy from the Unity Asset Store now!:
Pro Version Unlimited access to controller outputs
Lite Version IMU and raw data values time-out after 2 mins.

Background
The HoloLens comes with a gaze-based pointing mechanism where the user points their head straight towards the object they’re interested in selecting. It is not the most natural input mechanism because we don’t often point our heads directly at the object of our interest. This plugin allows you to move a selection point around the scene by projecting a simulated laser beam out from the handheld Google Daydream controller.

This IMU-based solution (Inertial Measurement Unit) has limitations: in my demo implementation it makes the assumption that the controller stays offset from the headset as the user moves through space (in a comfortable location the user might choose to casually hold a laser pointer). The controller device is not tracked in space like the HoloLens itself is tracked, or like the high-accuracy tracking you experience with Oculus Rift or HTC Vive which require external lighthouses.

The upcoming “Crystal Key” Controllers from Microsoft will work with the Acer MR headset, but not HoloLens.

Leave a Reply