# Google VR SDK for Unity

# Google VR SDK for Unity

Unity API Reference documentation for the Google VR SDK.

| ## Classes ||
|---|---|
| [GvrBetaControllerInput](https://developers.google.com/vr/reference/unity/class/GoogleVR/Beta/GvrBetaControllerInput) | Daydream controller beta API. |
| [GvrBetaControllerVisualMulti](https://developers.google.com/vr/reference/unity/class/GoogleVR/Beta/GvrBetaControllerVisualMulti) | A beta library for multiple 6DoF controller visuals. |
| [GvrBetaHeadset](https://developers.google.com/vr/reference/unity/class/GoogleVR/Beta/GvrBetaHeadset) | Daydream headset beta API. |
| [GvrBetaSettings](https://developers.google.com/vr/reference/unity/class/GoogleVR/Beta/GvrBetaSettings) | Daydream beta settings API. |
| [GvrControllerInputDeviceExtension](https://developers.google.com/vr/reference/unity/class/GoogleVR/Beta/GvrControllerInputDeviceExtension) | Class extension for `https://developers.google.com/vr/reference/unity/class/GvrControllerInputDevice#classGvrControllerInputDevice` to add beta tracking status getter. |
| [GvrActivityHelper](https://developers.google.com/vr/reference/unity/class/GvrActivityHelper) | Simple static class to abstract out several JNI calls that need to be shared between different classes. |
| [GvrAllEventsTrigger](https://developers.google.com/vr/reference/unity/class/GvrAllEventsTrigger) | Exposes events from `https://developers.google.com/vr/reference/unity/class/GvrEventExecutor#classGvrEventExecutor` that are fired by `GvrPointerInputModule_`to the editor. |
| [TriggerEvent](https://developers.google.com/vr/reference/unity/class/GvrAllEventsTrigger/TriggerEvent) | Exposes fired `PointerEventData` events. |
| [GvrArmModel](https://developers.google.com/vr/reference/unity/class/GvrArmModel) | Standard implementation for a mathematical model to make the virtual controller approximate the physical location of the Daydream controller. |
| [GvrBaseArmModel](https://developers.google.com/vr/reference/unity/class/GvrBaseArmModel) | Interface for a mathematical Arm model for 3DoF controllers. |
| [GvrBasePointer](https://developers.google.com/vr/reference/unity/class/GvrBasePointer) | An abstract class for handling pointer based input. |
| [GvrBasePointerRaycaster](https://developers.google.com/vr/reference/unity/class/GvrBasePointerRaycaster) | This script provides shared functionality used by all Gvr raycasters. |
| [GvrCardboardHelpers](https://developers.google.com/vr/reference/unity/class/GvrCardboardHelpers) | General Cardboard helper methods. |
| [GvrControllerInput](https://developers.google.com/vr/reference/unity/class/GvrControllerInput) | Main entry point for the Daydream controller API. |
| [GvrControllerInputDevice](https://developers.google.com/vr/reference/unity/class/GvrControllerInputDevice) | Device instance of the Daydream controller API. |
| [GvrControllerReticleVisual](https://developers.google.com/vr/reference/unity/class/GvrControllerReticleVisual) | Visualizes a reticle using a Quad. |
| [GvrControllerTooltipsSimple](https://developers.google.com/vr/reference/unity/class/GvrControllerTooltipsSimple) | A lightweight tooltip designed to minimize draw calls. |
| [GvrControllerVisual](https://developers.google.com/vr/reference/unity/class/GvrControllerVisual) | Provides visual feedback for the daydream controller. |
| [GvrDaydreamApi](https://developers.google.com/vr/reference/unity/class/GvrDaydreamApi) | Main entry point Daydream specific APIs. |
| [GvrDropdown](https://developers.google.com/vr/reference/unity/class/GvrDropdown) | Dropdown UI component that works with the GvrRaycasters. |
| [GvrEditorEmulator](https://developers.google.com/vr/reference/unity/class/GvrEditorEmulator) | Provides mouse-controlled head tracking emulation in the Unity editor. |
| [GvrEventExecutor](https://developers.google.com/vr/reference/unity/class/GvrEventExecutor) | Wraps `UnityEngine.EventSystems.ExecuteEvents`. |
| [GvrExecuteEventsExtension](https://developers.google.com/vr/reference/unity/class/GvrExecuteEventsExtension) | This script extends the standard Unity `EventSystem` events with GVR-specific events. |
| [GvrHeadset](https://developers.google.com/vr/reference/unity/class/GvrHeadset) | Main entry point for Standalone headset APIs. |
| [GvrIntent](https://developers.google.com/vr/reference/unity/class/GvrIntent) | Provides information about the Android Intent that started the current Activity. |
| [GvrKeyboard](https://developers.google.com/vr/reference/unity/class/GvrKeyboard) | Handles keyboard state management such as hiding and displaying the keyboard, directly modifying text and stereoscopic rendering. |
| [GvrKeyboardDelegateBase](https://developers.google.com/vr/reference/unity/class/GvrKeyboardDelegateBase) | An abstract interface for `https://developers.google.com/vr/reference/unity/class/GvrKeyboard#classGvrKeyboard` methods. |
| [GvrKeyboardIntent](https://developers.google.com/vr/reference/unity/class/GvrKeyboardIntent) | A class for launching and managing GVR keyboard intents. |
| [GvrLaserPointer](https://developers.google.com/vr/reference/unity/class/GvrLaserPointer) | Implementation of [GvrBasePointer](https://developers.google.com/vr/reference/unity/class/GvrBasePointer#classGvrBasePointer) for a laser pointer visual. |
| [GvrLaserVisual](https://developers.google.com/vr/reference/unity/class/GvrLaserVisual) | Visualizes a laser and a reticle using a LineRenderer and a Quad. |
| [GvrMathHelpers](https://developers.google.com/vr/reference/unity/class/GvrMathHelpers) | Helper functions to perform common math operations for Gvr. |
| [GvrPointerEventData](https://developers.google.com/vr/reference/unity/class/GvrPointerEventData) | This script extends the Unity PointerEventData struct with GoogleVR-specific data. |
| [GvrPointerEventDataExtension](https://developers.google.com/vr/reference/unity/class/GvrPointerEventDataExtension) | This class extends the Unity `PointerEventData` struct with [GoogleVR](https://developers.google.com/vr/reference/unity/namespace/GoogleVR#namespaceGoogleVR) data accessors. |
| [GvrPointerGraphicRaycaster](https://developers.google.com/vr/reference/unity/class/GvrPointerGraphicRaycaster) | This script provides a raycaster for use with the `https://developers.google.com/vr/reference/unity/class/GvrPointerInputModule#classGvrPointerInputModule`. |
| [GvrPointerInputModule](https://developers.google.com/vr/reference/unity/class/GvrPointerInputModule) | This script provides an implemention of Unity's `BaseInputModule` class. |
| [GvrPointerInputModuleImpl](https://developers.google.com/vr/reference/unity/class/GvrPointerInputModuleImpl) | Implementation of `https://developers.google.com/vr/reference/unity/class/GvrPointerInputModule#classGvrPointerInputModule`. |
| [GvrPointerPhysicsRaycaster](https://developers.google.com/vr/reference/unity/class/GvrPointerPhysicsRaycaster) | This script provides a raycaster for use with the `https://developers.google.com/vr/reference/unity/class/GvrPointerInputModule#classGvrPointerInputModule`. |
| [GvrPointerScrollInput](https://developers.google.com/vr/reference/unity/class/GvrPointerScrollInput) | This class is used by `https://developers.google.com/vr/reference/unity/class/GvrPointerInputModule#classGvrPointerInputModule` to route scroll events through Unity's event system. |
| [GvrRecenterOnlyController](https://developers.google.com/vr/reference/unity/class/GvrRecenterOnlyController) | Used to recenter only the controllers, required for scenes that have no clear forward direction. |
| [GvrReticlePointer](https://developers.google.com/vr/reference/unity/class/GvrReticlePointer) | Draws a circular reticle in front of any object that the user points at. |
| [GvrScrollSettings](https://developers.google.com/vr/reference/unity/class/GvrScrollSettings) | Used to override the global scroll settings in `https://developers.google.com/vr/reference/unity/class/GvrPointerScrollInput#classGvrPointerScrollInput` for the `GameObject` that this script is attached to. |
| [GvrSettings](https://developers.google.com/vr/reference/unity/class/GvrSettings) | Accesses and configures Daydream settings. |
| [GvrTooltip](https://developers.google.com/vr/reference/unity/class/GvrTooltip) | A tooltip for displaying control schemes overlaying the controller visual using a Unity Canvas. |
| [GvrTrackedController](https://developers.google.com/vr/reference/unity/class/GvrTrackedController) | Represents an object tracked by controller input. |
| [GvrUIHelpers](https://developers.google.com/vr/reference/unity/class/GvrUIHelpers) | Helper class for dealing with canvas UI. |
| [GvrUnitySdkVersion](https://developers.google.com/vr/reference/unity/class/GvrUnitySdkVersion) | Provides and logs versioning information for the GVR SDK for Unity. |
| [GvrVRHelpers](https://developers.google.com/vr/reference/unity/class/GvrVRHelpers) | Helper functions common to GVR VR applications. |
| [GvrVideoPlayerTexture](https://developers.google.com/vr/reference/unity/class/GvrVideoPlayerTexture) | Plays video using Exoplayer rendering it on the main texture. |
| [GvrXREventsSubscriber](https://developers.google.com/vr/reference/unity/class/GvrXREventsSubscriber) | Handler for subscribing XR Unity actions to GVR Actions. |
| [InstantPreviewHelper](https://developers.google.com/vr/reference/unity/class/InstantPreviewHelper) | Helper methods for Instant preview. |
| [MutablePose3D](https://developers.google.com/vr/reference/unity/class/MutablePose3D) | Mutable version of [Pose3D](https://developers.google.com/vr/reference/unity/class/Pose3D#classPose3D). |
| [Pose3D](https://developers.google.com/vr/reference/unity/class/Pose3D) | Encapsulates a rotation and a translation. |

| ## Interfaces ||
|---|---|
| [IGvrArmModelReceiver](https://developers.google.com/vr/reference/unity/interface/IGvrArmModelReceiver) | Interface declaring the use of the arm model. |
| [IGvrControllerInputDeviceReceiver](https://developers.google.com/vr/reference/unity/interface/IGvrControllerInputDeviceReceiver) | Interface declaring the need for the controller input device. |
| [IGvrEventExecutor](https://developers.google.com/vr/reference/unity/interface/IGvrEventExecutor) | Provides an interface for executing events for `IEventSystemHandler`. |
| [IGvrInputModuleController](https://developers.google.com/vr/reference/unity/interface/IGvrInputModuleController) | Interface for manipulating an input module used by `https://developers.google.com/vr/reference/unity/class/GvrPointerInputModuleImpl#classGvrPointerInputModuleImpl`. |
| [IGvrPointerHoverHandler](https://developers.google.com/vr/reference/unity/interface/IGvrPointerHoverHandler) | Interface to implement if you wish to receive `OnGvrPointerHover` callbacks. |
| [IGvrScrollSettings](https://developers.google.com/vr/reference/unity/interface/IGvrScrollSettings) | Interface to implement to override the global scroll settings in `https://developers.google.com/vr/reference/unity/class/GvrPointerScrollInput#classGvrPointerScrollInput` for an object. |

| ## Structs ||
|---|---|
| [PointerRay](https://developers.google.com/vr/reference/unity/struct/GvrBasePointer/PointerRay) | Represents a ray segment for a series of intersecting rays. |
| [FaceCameraData](https://developers.google.com/vr/reference/unity/struct/GvrControllerReticleVisual/FaceCameraData) | Camera facing positioning data. |
| [ControllerDisplayState](https://developers.google.com/vr/reference/unity/struct/GvrControllerVisual/ControllerDisplayState) | The controller display state data structure. |
| [VisualAssets](https://developers.google.com/vr/reference/unity/struct/GvrControllerVisual/VisualAssets) | Struct that describes a mesh, material pair used for rendering a controller visual. |