# Sandbox.VR.VRController

Represents a VR controller, along with its transform, velocity, and inputs.

- Kind: class
- Namespace: `Sandbox.VR`
- Assembly: `Sandbox.Engine`
- Inherits: [Sandbox.VR.TrackedObject](/api/Sandbox.VR.TrackedObject)
- Modifiers: sealed

## Properties

- [`AimTransform`](/api/Sandbox.VR.VRController/AimTransform): The aim pose transform in world space (pointing forward).
- [`ButtonA`](/api/Sandbox.VR.VRController/ButtonA): The primary button on this controller (Usually A, can be X for Oculus Touch)
- [`ButtonB`](/api/Sandbox.VR.VRController/ButtonB): The secondary button on this controller (Usually B, can be Y for Oculus Touch)
- [`Grip`](/api/Sandbox.VR.VRController/Grip): The grip input on this controller
- [`IsHandTracked`](/api/Sandbox.VR.VRController/IsHandTracked): Is this controller currently being represented using full hand tracking?
- [`Joystick`](/api/Sandbox.VR.VRController/Joystick): The primary joystick input on this controller
- [`JoystickPress`](/api/Sandbox.VR.VRController/JoystickPress): The primary joystick press on this controller
- [`Transform`](/api/Sandbox.VR.VRController/Transform): The grip pose transform in world space (centered on palm/grip).
- [`Trigger`](/api/Sandbox.VR.VRController/Trigger): The trigger input on this controller

## Methods

- [`<Clone>$`](/api/Sandbox.VR.VRController/<Clone>$)
- [`GetFingerCurl`](/api/Sandbox.VR.VRController/GetFingerCurl): Get the skeletal value (from 0 to 1) of a specified finger curl index.
- [`GetFingerSplay`](/api/Sandbox.VR.VRController/GetFingerSplay): Get the skeletal value (from 0 to 1) of a specified finger splay index.
- [`GetFingerValue`](/api/Sandbox.VR.VRController/GetFingerValue): Get the skeletal value (from 0 to 1) of a specified [Sandbox.VR.FingerValue](/api/Sandbox.VR.FingerValue) - includes curl and splay.
- [`GetJointData`](/api/Sandbox.VR.VRController/GetJointData)
- [`GetJoints`](/api/Sandbox.VR.VRController/GetJoints): Returns joint data for a specific motion range.
- [`GetModel`](/api/Sandbox.VR.VRController/GetModel): Retrieves or creates a cached model that can be used to render this controller.
- [`StopAllHaptics`](/api/Sandbox.VR.VRController/StopAllHaptics): Stops all rumble and haptic events on this controller.
- [`StopAllVibrations`](/api/Sandbox.VR.VRController/StopAllVibrations): Stop all vibration events on this controller.
- [`TriggerHaptics`](/api/Sandbox.VR.VRController/TriggerHaptics): Trigger a vibration based on a predefined [Sandbox.HapticPattern](/api/Sandbox.HapticPattern). All [Sandbox.HapticPattern](/api/Sandbox.HapticPattern)s are normalized (start at 0, peak at 1).
- [`TriggerHapticVibration`](/api/Sandbox.VR.VRController/TriggerHapticVibration): Triggers a haptic vibration event on the controller for this hand.
