This site has been archived and remains strictly as a historical reference for developers who actively maintain apps built using the legacy Google VR SDK, which was last updated in 2019 and is no longer receiving updates.
  • All developers actively developing experiences for Google Cardboard should use the new open source Cardboard SDKs for iOS, Android NDK, and Unity XR Plugin. These new SDKs offer streamlined APIs, improved device compatibility, and built-in viewer profile QR code scanning.
  • The Daydream View VR headset is no longer available for purchase as of October 15, 2019. Existing apps on supported devices are unaffected for users who previously installed those applications. It is no longer possible to opt-in to Daydream distribution via Google Play.

Daydream Controller

The Daydream controller combines a simple, intuitive user interface with 3DoF functionality for expressive design. All Daydream apps require the Daydream controller so as a developer you can design experiences for a standardized input model.

Some common ways the Daydream controller can be used are:

  • Ray-pointer: Interacting with 2D UI in worldspace. For example, choosing files from a 2D file-selector in a media app or selecting icons from a 2D in-app inventory screen.
  • Gesture-based input: Using the controller as a proxy for a physical motion, such as throwing a frisbee or swinging a baseball bat.
  • Movement: Using the controller to allow the user to move around the environment, for example, through the use of teleportation.


The Daydream Controller includes the following features:

Controller feature Description
3DoF tracking See the degrees of freedom page.
  • Can detect touching, swiping and clicking.
  • Fully customizable for your app.
  • Example uses include scrolling through a menu or moving through the environment.
App button
  • Fully customizable for your app.
  • Example uses include opening an in-app menu or performing a special action.
Daydream button
  • Press to open the Daydream Dashboard.
  • Press and hold to recenter your view and controller.
  • Cannot be customized.
Volume buttons
  • Can be used to adjust your app volume.
  • Cannot be customized.
Status light Displays controller status.
Wrist-strap holes Can be used to attach the provided wrist-strap.