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.
Stay organized with collections Save and categorize content based on your preferences.

GvrControllerPointer prefab

Provides a rendered Daydream controller with built-in laser pointer that moves in response to the user's motion based on the configured arm model.

Must be a sibling to the main camera, so that the camera and controller transforms share a common parent transform. This ensures that the controller remains visible as the user changes the direction in which they are facing.

Requires an instance of the GvrControllerMain prefab to exist in the scene in order to be use the Google VR input system.

Prefab Hierarchy

Game object name Description

Ensures that the controller's local position and local rotation are updated based on the configured arm model settings.

Renders the controller. Can be disabled or removed if your app handles controller rendering.

Laser

Renders the built-in laser pointer and controls the raycast mode used by the pointer. Can be disabled or removed if your app handles pointer input through custom code.

Reticle

Renders the built-in reticle at the end of the laser pointer. Can be disabled or removed if your app provides its own custom reticle.

GvrControllerPointer game object

Ensures that the controller's local position and local rotation are updated based on the configured arm model settings.

Includes:

  • GvrTrackedController that is responsible for updating the controller local position and local rotation each frame, based on the configured arm model settings

  • GvrArmModel that allows for basic customization. This arm model can also be replaced for more advanced use cases. See also the custom arm models provided by Daydream Elements

Components: GvrArmModel, GvrTrackedController, UnityEngine.Transform

ControllerVisual game object

Renders the controller. Can be disabled or removed if your app handles controller rendering.

Use the Attachment Prefabs list to specify any number of prefabs that should be instantiated at runtime with the controller, such as a tooltips prefab.

The SDK includes two customizable tooltips prefabs:

Components: GvrControllerVisual, UnityEngine.MeshFilter, UnityEngine.MeshRenderer, UnityEngine.Transform

Laser game object

Renders the built-in laser pointer and controls the raycast mode used by the pointer. Can be disabled or removed if your app handles pointer input through custom code.

Components: GvrLaserPointer, GvrLaserVisual, UnityEngine.LineRenderer, UnityEngine.Transform

Reticle game object

Renders the built-in reticle at the end of the laser pointer. Can be disabled or removed if your app provides its own custom reticle.

Components: GvrControllerReticleVisual, UnityEngine.MeshFilter, UnityEngine.MeshRenderer, UnityEngine.Transform