{"__v":0,"_id":"58796781cd4a9c37007c972b","category":{"version":"58796781cd4a9c37007c96ef","project":"571fa55ca0acd42000af9545","_id":"58796781cd4a9c37007c96ff","__v":0,"sync":{"url":"","isSync":false},"reference":false,"createdAt":"2017-01-01T19:37:23.198Z","from_sync":false,"order":17,"slug":"steamvr-sdk","title":"SteamVR SDK"},"parentDoc":null,"project":"571fa55ca0acd42000af9545","user":"571fa519db52d01700f5cf3d","version":{"__v":4,"_id":"58796781cd4a9c37007c96ef","project":"571fa55ca0acd42000af9545","createdAt":"2017-01-13T23:49:21.393Z","releaseDate":"2017-01-13T23:49:21.393Z","categories":["58796781cd4a9c37007c96f0","58796781cd4a9c37007c96f1","58796781cd4a9c37007c96f2","58796781cd4a9c37007c96f3","58796781cd4a9c37007c96f4","58796781cd4a9c37007c96f5","58796781cd4a9c37007c96f6","58796781cd4a9c37007c96f7","58796781cd4a9c37007c96f8","58796781cd4a9c37007c96f9","58796781cd4a9c37007c96fa","58796781cd4a9c37007c96fb","58796781cd4a9c37007c96fc","58796781cd4a9c37007c96fd","58796781cd4a9c37007c96fe","58796781cd4a9c37007c96ff","58796781cd4a9c37007c9700","58b157ca1756cf370022f90d","58b1596f5dae732f00adeca2","58b1605a5dae732f00adecb1"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"Mukota","version_clean":"3.1.0","version":"3.1.0"},"updates":[],"next":{"pages":[],"description":""},"createdAt":"2017-01-01T19:38:19.475Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":3,"body":"> extends [SDK_BaseController](doc:sdk_basecontroller)\n\n## Overview\n\nThe SteamVR Controller SDK script provides a bridge to SDK methods that deal with the input devices.\n\n## Class Methods\n\n### ProcessUpdate/2\n\n  > `public override void ProcessUpdate(uint index, Dictionary<string, object> options)`\n\n  * Parameters\n   * `uint index` - The index of the controller.\n   * `Dictionary<string, object> options` - A dictionary of generic options that can be used to within the update.\n  * Returns\n   * _none_\n\nThe ProcessUpdate method enables an SDK to run logic for every Unity Update\n\n### GetControllerDefaultColliderPath/1\n\n  > `public override string GetControllerDefaultColliderPath(ControllerHand hand)`\n\n  * Parameters\n   * `ControllerHand hand` - The controller hand to check for\n  * Returns\n   * `string` - A path to the resource that contains the collider GameObject.\n\nThe GetControllerDefaultColliderPath returns the path to the prefab that contains the collider objects for the default controller of this SDK.\n\n### GetControllerElementPath/3\n\n  > `public override string GetControllerElementPath(ControllerElements element, ControllerHand hand, bool fullPath = false)`\n\n  * Parameters\n   * `ControllerElements element` - The controller element to look up.\n   * `ControllerHand hand` - The controller hand to look up.\n   * `bool fullPath` - Whether to get the initial path or the full path to the element.\n  * Returns\n   * `string` - A string containing the path to the game object that the controller element resides in.\n\nThe GetControllerElementPath returns the path to the game object that the given controller element for the given hand resides in.\n\n### GetControllerIndex/1\n\n  > `public override uint GetControllerIndex(GameObject controller)`\n\n  * Parameters\n   * `GameObject controller` - The GameObject containing the controller.\n  * Returns\n   * `uint` - The index of the given controller.\n\nThe GetControllerIndex method returns the index of the given controller.\n\n### GetControllerByIndex/2\n\n  > `public override GameObject GetControllerByIndex(uint index, bool actual = false)`\n\n  * Parameters\n   * `uint index` - The index of the controller to find.\n   * `bool actual` - If true it will return the actual controller, if false it will return the script alias controller GameObject.\n  * Returns\n   * `GameObject` -\n\nThe GetControllerByIndex method returns the GameObject of a controller with a specific index.\n\n### GetControllerOrigin/1\n\n  > `public override Transform GetControllerOrigin(GameObject controller)`\n\n  * Parameters\n   * `GameObject controller` - The controller to retrieve the origin from.\n  * Returns\n   * `Transform` - A Transform containing the origin of the controller.\n\nThe GetControllerOrigin method returns the origin of the given controller.\n\n### GenerateControllerPointerOrigin/1\n\n  > `public override Transform GenerateControllerPointerOrigin(GameObject parent)`\n\n  * Parameters\n   * `GameObject parent` - The GameObject that the origin will become parent of. If it is a controller then it will also be used to determine the hand if required.\n  * Returns\n   * `Transform` - A generated Transform that contains the custom pointer origin.\n\nThe GenerateControllerPointerOrigin method can create a custom pointer origin Transform to represent the pointer position and forward.\n\n### GetControllerLeftHand/1\n\n  > `public override GameObject GetControllerLeftHand(bool actual = false)`\n\n  * Parameters\n   * `bool actual` - If true it will return the actual controller, if false it will return the script alias controller GameObject.\n  * Returns\n   * `GameObject` - The GameObject containing the left hand controller.\n\nThe GetControllerLeftHand method returns the GameObject containing the representation of the left hand controller.\n\n### GetControllerRightHand/1\n\n  > `public override GameObject GetControllerRightHand(bool actual = false)`\n\n  * Parameters\n   * `bool actual` - If true it will return the actual controller, if false it will return the script alias controller GameObject.\n  * Returns\n   * `GameObject` - The GameObject containing the right hand controller.\n\nThe GetControllerRightHand method returns the GameObject containing the representation of the right hand controller.\n\n### IsControllerLeftHand/1\n\n  > `public override bool IsControllerLeftHand(GameObject controller)`\n\n  * Parameters\n   * `GameObject controller` - The GameObject to check.\n  * Returns\n   * `bool` - Returns true if the given controller is the left hand controller.\n\nThe IsControllerLeftHand/1 method is used to check if the given controller is the the left hand controller.\n\n### IsControllerRightHand/1\n\n  > `public override bool IsControllerRightHand(GameObject controller)`\n\n  * Parameters\n   * `GameObject controller` - The GameObject to check.\n  * Returns\n   * `bool` - Returns true if the given controller is the right hand controller.\n\nThe IsControllerRightHand/1 method is used to check if the given controller is the the right hand controller.\n\n### IsControllerLeftHand/2\n\n  > `public override bool IsControllerLeftHand(GameObject controller, bool actual)`\n\n  * Parameters\n   * `GameObject controller` - The GameObject to check.\n   * `bool actual` - If true it will check the actual controller, if false it will check the script alias controller.\n  * Returns\n   * `bool` - Returns true if the given controller is the left hand controller.\n\nThe IsControllerLeftHand/2 method is used to check if the given controller is the the left hand controller.\n\n### IsControllerRightHand/2\n\n  > `public override bool IsControllerRightHand(GameObject controller, bool actual)`\n\n  * Parameters\n   * `GameObject controller` - The GameObject to check.\n   * `bool actual` - If true it will check the actual controller, if false it will check the script alias controller.\n  * Returns\n   * `bool` - Returns true if the given controller is the right hand controller.\n\nThe IsControllerRightHand/2 method is used to check if the given controller is the the right hand controller.\n\n### GetControllerModel/1\n\n  > `public override GameObject GetControllerModel(GameObject controller)`\n\n  * Parameters\n   * `GameObject controller` - The GameObject to get the model alias for.\n  * Returns\n   * `GameObject` - The GameObject that has the model alias within it.\n\nThe GetControllerModel method returns the model alias for the given GameObject.\n\n### GetControllerModel/1\n\n  > `public override GameObject GetControllerModel(ControllerHand hand)`\n\n  * Parameters\n   * `ControllerHand hand` - The hand enum of which controller model to retrieve.\n  * Returns\n   * `GameObject` - The GameObject that has the model alias within it.\n\nThe GetControllerModel method returns the model alias for the given controller hand.\n\n### GetControllerRenderModel/1\n\n  > `public override GameObject GetControllerRenderModel(GameObject controller)`\n\n  * Parameters\n   * `GameObject controller` - The GameObject to check.\n  * Returns\n   * `GameObject` - A GameObject containing the object that has a render model for the controller.\n\nThe GetControllerRenderModel method gets the game object that contains the given controller's render model.\n\n### SetControllerRenderModelWheel/2\n\n  > `public override void SetControllerRenderModelWheel(GameObject renderModel, bool state)`\n\n  * Parameters\n   * `GameObject renderModel` - The GameObject containing the controller render model.\n   * `bool state` - If true and the render model has a scroll wheen then it will be displayed, if false then the scroll wheel will be hidden.\n  * Returns\n   * _none_\n\nThe SetControllerRenderModelWheel method sets the state of the scroll wheel on the controller render model.\n\n### HapticPulseOnIndex/2\n\n  > `public override void HapticPulseOnIndex(uint index, float strength = 0.5f)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to initiate the haptic pulse on.\n   * `float strength` - The intensity of the rumble of the controller motor. `0` to `1`.\n  * Returns\n   * _none_\n\nThe HapticPulseOnIndex method is used to initiate a simple haptic pulse on the tracked object of the given index.\n\n### GetHapticModifiers/0\n\n  > `public override SDK_ControllerHapticModifiers GetHapticModifiers()`\n\n  * Parameters\n   * _none_\n  * Returns\n   * `SDK_ControllerHapticModifiers` - An SDK_ControllerHapticModifiers object with a given `durationModifier` and an `intervalModifier`.\n\nThe GetHapticModifiers method is used to return modifiers for the duration and interval if the SDK handles it slightly differently.\n\n### GetVelocityOnIndex/1\n\n  > `public override Vector3 GetVelocityOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `Vector3` - A Vector3 containing the current velocity of the tracked object.\n\nThe GetVelocityOnIndex method is used to determine the current velocity of the tracked object on the given index.\n\n### GetAngularVelocityOnIndex/1\n\n  > `public override Vector3 GetAngularVelocityOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `Vector3` - A Vector3 containing the current angular velocity of the tracked object.\n\nThe GetAngularVelocityOnIndex method is used to determine the current angular velocity of the tracked object on the given index.\n\n### GetTouchpadAxisOnIndex/1\n\n  > `public override Vector2 GetTouchpadAxisOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `Vector2` - A Vector2 containing the current x,y position of where the touchpad is being touched.\n\nThe GetTouchpadAxisOnIndex method is used to get the current touch position on the controller touchpad.\n\n### GetTriggerAxisOnIndex/1\n\n  > `public override Vector2 GetTriggerAxisOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `Vector2` - A Vector2 containing the current position of the trigger.\n\nThe GetTriggerAxisOnIndex method is used to get the current trigger position on the controller.\n\n### GetGripAxisOnIndex/1\n\n  > `public override Vector2 GetGripAxisOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `Vector2` - A Vector2 containing the current position of the grip.\n\nThe GetGripAxisOnIndex method is used to get the current grip position on the controller.\n\n### GetTriggerHairlineDeltaOnIndex/1\n\n  > `public override float GetTriggerHairlineDeltaOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `float` - The delta between the trigger presses.\n\nThe GetTriggerHairlineDeltaOnIndex method is used to get the difference between the current trigger press and the previous frame trigger press.\n\n### GetGripHairlineDeltaOnIndex/1\n\n  > `public override float GetGripHairlineDeltaOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `float` - The delta between the grip presses.\n\nThe GetGripHairlineDeltaOnIndex method is used to get the difference between the current grip press and the previous frame grip press.\n\n### IsTriggerPressedOnIndex/1\n\n  > `public override bool IsTriggerPressedOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `bool` - Returns true if the button is continually being pressed.\n\nThe IsTriggerPressedOnIndex method is used to determine if the controller button is being pressed down continually.\n\n### IsTriggerPressedDownOnIndex/1\n\n  > `public override bool IsTriggerPressedDownOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `bool` - Returns true if the button has just been pressed down.\n\nThe IsTriggerPressedDownOnIndex method is used to determine if the controller button has just been pressed down.\n\n### IsTriggerPressedUpOnIndex/1\n\n  > `public override bool IsTriggerPressedUpOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `bool` - Returns true if the button has just been released.\n\nThe IsTriggerPressedUpOnIndex method is used to determine if the controller button has just been released.\n\n### IsTriggerTouchedOnIndex/1\n\n  > `public override bool IsTriggerTouchedOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `bool` - Returns true if the button is continually being touched.\n\nThe IsTriggerTouchedOnIndex method is used to determine if the controller button is being touched down continually.\n\n### IsTriggerTouchedDownOnIndex/1\n\n  > `public override bool IsTriggerTouchedDownOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `bool` - Returns true if the button has just been touched down.\n\nThe IsTriggerTouchedDownOnIndex method is used to determine if the controller button has just been touched down.\n\n### IsTriggerTouchedUpOnIndex/1\n\n  > `public override bool IsTriggerTouchedUpOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `bool` - Returns true if the button has just been released.\n\nThe IsTriggerTouchedUpOnIndex method is used to determine if the controller button has just been released.\n\n### IsHairTriggerDownOnIndex/1\n\n  > `public override bool IsHairTriggerDownOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `bool` - Returns true if the button has passed it's press threshold.\n\nThe IsHairTriggerDownOnIndex method is used to determine if the controller button has passed it's press threshold.\n\n### IsHairTriggerUpOnIndex/1\n\n  > `public override bool IsHairTriggerUpOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `bool` - Returns true if the button has just been released from it's press threshold.\n\nThe IsHairTriggerUpOnIndex method is used to determine if the controller button has been released from it's press threshold.\n\n### IsGripPressedOnIndex/1\n\n  > `public override bool IsGripPressedOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `bool` - Returns true if the button is continually being pressed.\n\nThe IsGripPressedOnIndex method is used to determine if the controller button is being pressed down continually.\n\n### IsGripPressedDownOnIndex/1\n\n  > `public override bool IsGripPressedDownOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `bool` - Returns true if the button has just been pressed down.\n\nThe IsGripPressedDownOnIndex method is used to determine if the controller button has just been pressed down.\n\n### IsGripPressedUpOnIndex/1\n\n  > `public override bool IsGripPressedUpOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `bool` - Returns true if the button has just been released.\n\nThe IsGripPressedUpOnIndex method is used to determine if the controller button has just been released.\n\n### IsGripTouchedOnIndex/1\n\n  > `public override bool IsGripTouchedOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `bool` - Returns true if the button is continually being touched.\n\nThe IsGripTouchedOnIndex method is used to determine if the controller button is being touched down continually.\n\n### IsGripTouchedDownOnIndex/1\n\n  > `public override bool IsGripTouchedDownOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `bool` - Returns true if the button has just been touched down.\n\nThe IsGripTouchedDownOnIndex method is used to determine if the controller button has just been touched down.\n\n### IsGripTouchedUpOnIndex/1\n\n  > `public override bool IsGripTouchedUpOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `bool` - Returns true if the button has just been released.\n\nThe IsGripTouchedUpOnIndex method is used to determine if the controller button has just been released.\n\n### IsHairGripDownOnIndex/1\n\n  > `public override bool IsHairGripDownOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `bool` - Returns true if the button has passed it's press threshold.\n\nThe IsHairGripDownOnIndex method is used to determine if the controller button has passed it's press threshold.\n\n### IsHairGripUpOnIndex/1\n\n  > `public override bool IsHairGripUpOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `bool` - Returns true if the button has just been released from it's press threshold.\n\nThe IsHairGripUpOnIndex method is used to determine if the controller button has been released from it's press threshold.\n\n### IsTouchpadPressedOnIndex/1\n\n  > `public override bool IsTouchpadPressedOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `bool` - Returns true if the button is continually being pressed.\n\nThe IsTouchpadPressedOnIndex method is used to determine if the controller button is being pressed down continually.\n\n### IsTouchpadPressedDownOnIndex/1\n\n  > `public override bool IsTouchpadPressedDownOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `bool` - Returns true if the button has just been pressed down.\n\nThe IsTouchpadPressedDownOnIndex method is used to determine if the controller button has just been pressed down.\n\n### IsTouchpadPressedUpOnIndex/1\n\n  > `public override bool IsTouchpadPressedUpOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `bool` - Returns true if the button has just been released.\n\nThe IsTouchpadPressedUpOnIndex method is used to determine if the controller button has just been released.\n\n### IsTouchpadTouchedOnIndex/1\n\n  > `public override bool IsTouchpadTouchedOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `bool` - Returns true if the button is continually being touched.\n\nThe IsTouchpadTouchedOnIndex method is used to determine if the controller button is being touched down continually.\n\n### IsTouchpadTouchedDownOnIndex/1\n\n  > `public override bool IsTouchpadTouchedDownOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `bool` - Returns true if the button has just been touched down.\n\nThe IsTouchpadTouchedDownOnIndex method is used to determine if the controller button has just been touched down.\n\n### IsTouchpadTouchedUpOnIndex/1\n\n  > `public override bool IsTouchpadTouchedUpOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `bool` - Returns true if the button has just been released.\n\nThe IsTouchpadTouchedUpOnIndex method is used to determine if the controller button has just been released.\n\n### IsButtonOnePressedOnIndex/1\n\n  > `public override bool IsButtonOnePressedOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `bool` - Returns true if the button is continually being pressed.\n\nThe IsButtonOnePressedOnIndex method is used to determine if the controller button is being pressed down continually.\n\n### IsButtonOnePressedDownOnIndex/1\n\n  > `public override bool IsButtonOnePressedDownOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `bool` - Returns true if the button has just been pressed down.\n\nThe IsButtonOnePressedDownOnIndex method is used to determine if the controller button has just been pressed down.\n\n### IsButtonOnePressedUpOnIndex/1\n\n  > `public override bool IsButtonOnePressedUpOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `bool` - Returns true if the button has just been released.\n\nThe IsButtonOnePressedUpOnIndex method is used to determine if the controller button has just been released.\n\n### IsButtonOneTouchedOnIndex/1\n\n  > `public override bool IsButtonOneTouchedOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `bool` - Returns true if the button is continually being touched.\n\nThe IsButtonOneTouchedOnIndex method is used to determine if the controller button is being touched down continually.\n\n### IsButtonOneTouchedDownOnIndex/1\n\n  > `public override bool IsButtonOneTouchedDownOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `bool` - Returns true if the button has just been touched down.\n\nThe IsButtonOneTouchedDownOnIndex method is used to determine if the controller button has just been touched down.\n\n### IsButtonOneTouchedUpOnIndex/1\n\n  > `public override bool IsButtonOneTouchedUpOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `bool` - Returns true if the button has just been released.\n\nThe IsButtonOneTouchedUpOnIndex method is used to determine if the controller button has just been released.\n\n### IsButtonTwoPressedOnIndex/1\n\n  > `public override bool IsButtonTwoPressedOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `bool` - Returns true if the button is continually being pressed.\n\nThe IsButtonTwoPressedOnIndex method is used to determine if the controller button is being pressed down continually.\n\n### IsButtonTwoPressedDownOnIndex/1\n\n  > `public override bool IsButtonTwoPressedDownOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `bool` - Returns true if the button has just been pressed down.\n\nThe IsButtonTwoPressedDownOnIndex method is used to determine if the controller button has just been pressed down.\n\n### IsButtonTwoPressedUpOnIndex/1\n\n  > `public override bool IsButtonTwoPressedUpOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `bool` - Returns true if the button has just been released.\n\nThe IsButtonTwoPressedUpOnIndex method is used to determine if the controller button has just been released.\n\n### IsButtonTwoTouchedOnIndex/1\n\n  > `public override bool IsButtonTwoTouchedOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `bool` - Returns true if the button is continually being touched.\n\nThe IsButtonTwoTouchedOnIndex method is used to determine if the controller button is being touched down continually.\n\n### IsButtonTwoTouchedDownOnIndex/1\n\n  > `public override bool IsButtonTwoTouchedDownOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `bool` - Returns true if the button has just been touched down.\n\nThe IsButtonTwoTouchedDownOnIndex method is used to determine if the controller button has just been touched down.\n\n### IsButtonTwoTouchedUpOnIndex/1\n\n  > `public override bool IsButtonTwoTouchedUpOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `bool` - Returns true if the button has just been released.\n\nThe IsButtonTwoTouchedUpOnIndex method is used to determine if the controller button has just been released.\n\n### IsStartMenuPressedOnIndex/1\n\n  > `public override bool IsStartMenuPressedOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `bool` - Returns true if the button is continually being pressed.\n\nThe IsStartMenuPressedOnIndex method is used to determine if the controller button is being pressed down continually.\n\n### IsStartMenuPressedDownOnIndex/1\n\n  > `public override bool IsStartMenuPressedDownOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `bool` - Returns true if the button has just been pressed down.\n\nThe IsStartMenuPressedDownOnIndex method is used to determine if the controller button has just been pressed down.\n\n### IsStartMenuPressedUpOnIndex/1\n\n  > `public override bool IsStartMenuPressedUpOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `bool` - Returns true if the button has just been released.\n\nThe IsStartMenuPressedUpOnIndex method is used to determine if the controller button has just been released.\n\n### IsStartMenuTouchedOnIndex/1\n\n  > `public override bool IsStartMenuTouchedOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `bool` - Returns true if the button is continually being touched.\n\nThe IsStartMenuTouchedOnIndex method is used to determine if the controller button is being touched down continually.\n\n### IsStartMenuTouchedDownOnIndex/1\n\n  > `public override bool IsStartMenuTouchedDownOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `bool` - Returns true if the button has just been touched down.\n\nThe IsStartMenuTouchedDownOnIndex method is used to determine if the controller button has just been touched down.\n\n### IsStartMenuTouchedUpOnIndex/1\n\n  > `public override bool IsStartMenuTouchedUpOnIndex(uint index)`\n\n  * Parameters\n   * `uint index` - The index of the tracked object to check for.\n  * Returns\n   * `bool` - Returns true if the button has just been released.\n\nThe IsStartMenuTouchedUpOnIndex method is used to determine if the controller button has just been released.","excerpt":"","slug":"sdk_steamvrcontroller","type":"basic","title":"SDK_SteamVRController"}

SDK_SteamVRController


> extends [SDK_BaseController](doc:sdk_basecontroller) ## Overview The SteamVR Controller SDK script provides a bridge to SDK methods that deal with the input devices. ## Class Methods ### ProcessUpdate/2 > `public override void ProcessUpdate(uint index, Dictionary<string, object> options)` * Parameters * `uint index` - The index of the controller. * `Dictionary<string, object> options` - A dictionary of generic options that can be used to within the update. * Returns * _none_ The ProcessUpdate method enables an SDK to run logic for every Unity Update ### GetControllerDefaultColliderPath/1 > `public override string GetControllerDefaultColliderPath(ControllerHand hand)` * Parameters * `ControllerHand hand` - The controller hand to check for * Returns * `string` - A path to the resource that contains the collider GameObject. The GetControllerDefaultColliderPath returns the path to the prefab that contains the collider objects for the default controller of this SDK. ### GetControllerElementPath/3 > `public override string GetControllerElementPath(ControllerElements element, ControllerHand hand, bool fullPath = false)` * Parameters * `ControllerElements element` - The controller element to look up. * `ControllerHand hand` - The controller hand to look up. * `bool fullPath` - Whether to get the initial path or the full path to the element. * Returns * `string` - A string containing the path to the game object that the controller element resides in. The GetControllerElementPath returns the path to the game object that the given controller element for the given hand resides in. ### GetControllerIndex/1 > `public override uint GetControllerIndex(GameObject controller)` * Parameters * `GameObject controller` - The GameObject containing the controller. * Returns * `uint` - The index of the given controller. The GetControllerIndex method returns the index of the given controller. ### GetControllerByIndex/2 > `public override GameObject GetControllerByIndex(uint index, bool actual = false)` * Parameters * `uint index` - The index of the controller to find. * `bool actual` - If true it will return the actual controller, if false it will return the script alias controller GameObject. * Returns * `GameObject` - The GetControllerByIndex method returns the GameObject of a controller with a specific index. ### GetControllerOrigin/1 > `public override Transform GetControllerOrigin(GameObject controller)` * Parameters * `GameObject controller` - The controller to retrieve the origin from. * Returns * `Transform` - A Transform containing the origin of the controller. The GetControllerOrigin method returns the origin of the given controller. ### GenerateControllerPointerOrigin/1 > `public override Transform GenerateControllerPointerOrigin(GameObject parent)` * Parameters * `GameObject parent` - The GameObject that the origin will become parent of. If it is a controller then it will also be used to determine the hand if required. * Returns * `Transform` - A generated Transform that contains the custom pointer origin. The GenerateControllerPointerOrigin method can create a custom pointer origin Transform to represent the pointer position and forward. ### GetControllerLeftHand/1 > `public override GameObject GetControllerLeftHand(bool actual = false)` * Parameters * `bool actual` - If true it will return the actual controller, if false it will return the script alias controller GameObject. * Returns * `GameObject` - The GameObject containing the left hand controller. The GetControllerLeftHand method returns the GameObject containing the representation of the left hand controller. ### GetControllerRightHand/1 > `public override GameObject GetControllerRightHand(bool actual = false)` * Parameters * `bool actual` - If true it will return the actual controller, if false it will return the script alias controller GameObject. * Returns * `GameObject` - The GameObject containing the right hand controller. The GetControllerRightHand method returns the GameObject containing the representation of the right hand controller. ### IsControllerLeftHand/1 > `public override bool IsControllerLeftHand(GameObject controller)` * Parameters * `GameObject controller` - The GameObject to check. * Returns * `bool` - Returns true if the given controller is the left hand controller. The IsControllerLeftHand/1 method is used to check if the given controller is the the left hand controller. ### IsControllerRightHand/1 > `public override bool IsControllerRightHand(GameObject controller)` * Parameters * `GameObject controller` - The GameObject to check. * Returns * `bool` - Returns true if the given controller is the right hand controller. The IsControllerRightHand/1 method is used to check if the given controller is the the right hand controller. ### IsControllerLeftHand/2 > `public override bool IsControllerLeftHand(GameObject controller, bool actual)` * Parameters * `GameObject controller` - The GameObject to check. * `bool actual` - If true it will check the actual controller, if false it will check the script alias controller. * Returns * `bool` - Returns true if the given controller is the left hand controller. The IsControllerLeftHand/2 method is used to check if the given controller is the the left hand controller. ### IsControllerRightHand/2 > `public override bool IsControllerRightHand(GameObject controller, bool actual)` * Parameters * `GameObject controller` - The GameObject to check. * `bool actual` - If true it will check the actual controller, if false it will check the script alias controller. * Returns * `bool` - Returns true if the given controller is the right hand controller. The IsControllerRightHand/2 method is used to check if the given controller is the the right hand controller. ### GetControllerModel/1 > `public override GameObject GetControllerModel(GameObject controller)` * Parameters * `GameObject controller` - The GameObject to get the model alias for. * Returns * `GameObject` - The GameObject that has the model alias within it. The GetControllerModel method returns the model alias for the given GameObject. ### GetControllerModel/1 > `public override GameObject GetControllerModel(ControllerHand hand)` * Parameters * `ControllerHand hand` - The hand enum of which controller model to retrieve. * Returns * `GameObject` - The GameObject that has the model alias within it. The GetControllerModel method returns the model alias for the given controller hand. ### GetControllerRenderModel/1 > `public override GameObject GetControllerRenderModel(GameObject controller)` * Parameters * `GameObject controller` - The GameObject to check. * Returns * `GameObject` - A GameObject containing the object that has a render model for the controller. The GetControllerRenderModel method gets the game object that contains the given controller's render model. ### SetControllerRenderModelWheel/2 > `public override void SetControllerRenderModelWheel(GameObject renderModel, bool state)` * Parameters * `GameObject renderModel` - The GameObject containing the controller render model. * `bool state` - If true and the render model has a scroll wheen then it will be displayed, if false then the scroll wheel will be hidden. * Returns * _none_ The SetControllerRenderModelWheel method sets the state of the scroll wheel on the controller render model. ### HapticPulseOnIndex/2 > `public override void HapticPulseOnIndex(uint index, float strength = 0.5f)` * Parameters * `uint index` - The index of the tracked object to initiate the haptic pulse on. * `float strength` - The intensity of the rumble of the controller motor. `0` to `1`. * Returns * _none_ The HapticPulseOnIndex method is used to initiate a simple haptic pulse on the tracked object of the given index. ### GetHapticModifiers/0 > `public override SDK_ControllerHapticModifiers GetHapticModifiers()` * Parameters * _none_ * Returns * `SDK_ControllerHapticModifiers` - An SDK_ControllerHapticModifiers object with a given `durationModifier` and an `intervalModifier`. The GetHapticModifiers method is used to return modifiers for the duration and interval if the SDK handles it slightly differently. ### GetVelocityOnIndex/1 > `public override Vector3 GetVelocityOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `Vector3` - A Vector3 containing the current velocity of the tracked object. The GetVelocityOnIndex method is used to determine the current velocity of the tracked object on the given index. ### GetAngularVelocityOnIndex/1 > `public override Vector3 GetAngularVelocityOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `Vector3` - A Vector3 containing the current angular velocity of the tracked object. The GetAngularVelocityOnIndex method is used to determine the current angular velocity of the tracked object on the given index. ### GetTouchpadAxisOnIndex/1 > `public override Vector2 GetTouchpadAxisOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `Vector2` - A Vector2 containing the current x,y position of where the touchpad is being touched. The GetTouchpadAxisOnIndex method is used to get the current touch position on the controller touchpad. ### GetTriggerAxisOnIndex/1 > `public override Vector2 GetTriggerAxisOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `Vector2` - A Vector2 containing the current position of the trigger. The GetTriggerAxisOnIndex method is used to get the current trigger position on the controller. ### GetGripAxisOnIndex/1 > `public override Vector2 GetGripAxisOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `Vector2` - A Vector2 containing the current position of the grip. The GetGripAxisOnIndex method is used to get the current grip position on the controller. ### GetTriggerHairlineDeltaOnIndex/1 > `public override float GetTriggerHairlineDeltaOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `float` - The delta between the trigger presses. The GetTriggerHairlineDeltaOnIndex method is used to get the difference between the current trigger press and the previous frame trigger press. ### GetGripHairlineDeltaOnIndex/1 > `public override float GetGripHairlineDeltaOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `float` - The delta between the grip presses. The GetGripHairlineDeltaOnIndex method is used to get the difference between the current grip press and the previous frame grip press. ### IsTriggerPressedOnIndex/1 > `public override bool IsTriggerPressedOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `bool` - Returns true if the button is continually being pressed. The IsTriggerPressedOnIndex method is used to determine if the controller button is being pressed down continually. ### IsTriggerPressedDownOnIndex/1 > `public override bool IsTriggerPressedDownOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `bool` - Returns true if the button has just been pressed down. The IsTriggerPressedDownOnIndex method is used to determine if the controller button has just been pressed down. ### IsTriggerPressedUpOnIndex/1 > `public override bool IsTriggerPressedUpOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `bool` - Returns true if the button has just been released. The IsTriggerPressedUpOnIndex method is used to determine if the controller button has just been released. ### IsTriggerTouchedOnIndex/1 > `public override bool IsTriggerTouchedOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `bool` - Returns true if the button is continually being touched. The IsTriggerTouchedOnIndex method is used to determine if the controller button is being touched down continually. ### IsTriggerTouchedDownOnIndex/1 > `public override bool IsTriggerTouchedDownOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `bool` - Returns true if the button has just been touched down. The IsTriggerTouchedDownOnIndex method is used to determine if the controller button has just been touched down. ### IsTriggerTouchedUpOnIndex/1 > `public override bool IsTriggerTouchedUpOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `bool` - Returns true if the button has just been released. The IsTriggerTouchedUpOnIndex method is used to determine if the controller button has just been released. ### IsHairTriggerDownOnIndex/1 > `public override bool IsHairTriggerDownOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `bool` - Returns true if the button has passed it's press threshold. The IsHairTriggerDownOnIndex method is used to determine if the controller button has passed it's press threshold. ### IsHairTriggerUpOnIndex/1 > `public override bool IsHairTriggerUpOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `bool` - Returns true if the button has just been released from it's press threshold. The IsHairTriggerUpOnIndex method is used to determine if the controller button has been released from it's press threshold. ### IsGripPressedOnIndex/1 > `public override bool IsGripPressedOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `bool` - Returns true if the button is continually being pressed. The IsGripPressedOnIndex method is used to determine if the controller button is being pressed down continually. ### IsGripPressedDownOnIndex/1 > `public override bool IsGripPressedDownOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `bool` - Returns true if the button has just been pressed down. The IsGripPressedDownOnIndex method is used to determine if the controller button has just been pressed down. ### IsGripPressedUpOnIndex/1 > `public override bool IsGripPressedUpOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `bool` - Returns true if the button has just been released. The IsGripPressedUpOnIndex method is used to determine if the controller button has just been released. ### IsGripTouchedOnIndex/1 > `public override bool IsGripTouchedOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `bool` - Returns true if the button is continually being touched. The IsGripTouchedOnIndex method is used to determine if the controller button is being touched down continually. ### IsGripTouchedDownOnIndex/1 > `public override bool IsGripTouchedDownOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `bool` - Returns true if the button has just been touched down. The IsGripTouchedDownOnIndex method is used to determine if the controller button has just been touched down. ### IsGripTouchedUpOnIndex/1 > `public override bool IsGripTouchedUpOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `bool` - Returns true if the button has just been released. The IsGripTouchedUpOnIndex method is used to determine if the controller button has just been released. ### IsHairGripDownOnIndex/1 > `public override bool IsHairGripDownOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `bool` - Returns true if the button has passed it's press threshold. The IsHairGripDownOnIndex method is used to determine if the controller button has passed it's press threshold. ### IsHairGripUpOnIndex/1 > `public override bool IsHairGripUpOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `bool` - Returns true if the button has just been released from it's press threshold. The IsHairGripUpOnIndex method is used to determine if the controller button has been released from it's press threshold. ### IsTouchpadPressedOnIndex/1 > `public override bool IsTouchpadPressedOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `bool` - Returns true if the button is continually being pressed. The IsTouchpadPressedOnIndex method is used to determine if the controller button is being pressed down continually. ### IsTouchpadPressedDownOnIndex/1 > `public override bool IsTouchpadPressedDownOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `bool` - Returns true if the button has just been pressed down. The IsTouchpadPressedDownOnIndex method is used to determine if the controller button has just been pressed down. ### IsTouchpadPressedUpOnIndex/1 > `public override bool IsTouchpadPressedUpOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `bool` - Returns true if the button has just been released. The IsTouchpadPressedUpOnIndex method is used to determine if the controller button has just been released. ### IsTouchpadTouchedOnIndex/1 > `public override bool IsTouchpadTouchedOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `bool` - Returns true if the button is continually being touched. The IsTouchpadTouchedOnIndex method is used to determine if the controller button is being touched down continually. ### IsTouchpadTouchedDownOnIndex/1 > `public override bool IsTouchpadTouchedDownOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `bool` - Returns true if the button has just been touched down. The IsTouchpadTouchedDownOnIndex method is used to determine if the controller button has just been touched down. ### IsTouchpadTouchedUpOnIndex/1 > `public override bool IsTouchpadTouchedUpOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `bool` - Returns true if the button has just been released. The IsTouchpadTouchedUpOnIndex method is used to determine if the controller button has just been released. ### IsButtonOnePressedOnIndex/1 > `public override bool IsButtonOnePressedOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `bool` - Returns true if the button is continually being pressed. The IsButtonOnePressedOnIndex method is used to determine if the controller button is being pressed down continually. ### IsButtonOnePressedDownOnIndex/1 > `public override bool IsButtonOnePressedDownOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `bool` - Returns true if the button has just been pressed down. The IsButtonOnePressedDownOnIndex method is used to determine if the controller button has just been pressed down. ### IsButtonOnePressedUpOnIndex/1 > `public override bool IsButtonOnePressedUpOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `bool` - Returns true if the button has just been released. The IsButtonOnePressedUpOnIndex method is used to determine if the controller button has just been released. ### IsButtonOneTouchedOnIndex/1 > `public override bool IsButtonOneTouchedOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `bool` - Returns true if the button is continually being touched. The IsButtonOneTouchedOnIndex method is used to determine if the controller button is being touched down continually. ### IsButtonOneTouchedDownOnIndex/1 > `public override bool IsButtonOneTouchedDownOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `bool` - Returns true if the button has just been touched down. The IsButtonOneTouchedDownOnIndex method is used to determine if the controller button has just been touched down. ### IsButtonOneTouchedUpOnIndex/1 > `public override bool IsButtonOneTouchedUpOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `bool` - Returns true if the button has just been released. The IsButtonOneTouchedUpOnIndex method is used to determine if the controller button has just been released. ### IsButtonTwoPressedOnIndex/1 > `public override bool IsButtonTwoPressedOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `bool` - Returns true if the button is continually being pressed. The IsButtonTwoPressedOnIndex method is used to determine if the controller button is being pressed down continually. ### IsButtonTwoPressedDownOnIndex/1 > `public override bool IsButtonTwoPressedDownOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `bool` - Returns true if the button has just been pressed down. The IsButtonTwoPressedDownOnIndex method is used to determine if the controller button has just been pressed down. ### IsButtonTwoPressedUpOnIndex/1 > `public override bool IsButtonTwoPressedUpOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `bool` - Returns true if the button has just been released. The IsButtonTwoPressedUpOnIndex method is used to determine if the controller button has just been released. ### IsButtonTwoTouchedOnIndex/1 > `public override bool IsButtonTwoTouchedOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `bool` - Returns true if the button is continually being touched. The IsButtonTwoTouchedOnIndex method is used to determine if the controller button is being touched down continually. ### IsButtonTwoTouchedDownOnIndex/1 > `public override bool IsButtonTwoTouchedDownOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `bool` - Returns true if the button has just been touched down. The IsButtonTwoTouchedDownOnIndex method is used to determine if the controller button has just been touched down. ### IsButtonTwoTouchedUpOnIndex/1 > `public override bool IsButtonTwoTouchedUpOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `bool` - Returns true if the button has just been released. The IsButtonTwoTouchedUpOnIndex method is used to determine if the controller button has just been released. ### IsStartMenuPressedOnIndex/1 > `public override bool IsStartMenuPressedOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `bool` - Returns true if the button is continually being pressed. The IsStartMenuPressedOnIndex method is used to determine if the controller button is being pressed down continually. ### IsStartMenuPressedDownOnIndex/1 > `public override bool IsStartMenuPressedDownOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `bool` - Returns true if the button has just been pressed down. The IsStartMenuPressedDownOnIndex method is used to determine if the controller button has just been pressed down. ### IsStartMenuPressedUpOnIndex/1 > `public override bool IsStartMenuPressedUpOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `bool` - Returns true if the button has just been released. The IsStartMenuPressedUpOnIndex method is used to determine if the controller button has just been released. ### IsStartMenuTouchedOnIndex/1 > `public override bool IsStartMenuTouchedOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `bool` - Returns true if the button is continually being touched. The IsStartMenuTouchedOnIndex method is used to determine if the controller button is being touched down continually. ### IsStartMenuTouchedDownOnIndex/1 > `public override bool IsStartMenuTouchedDownOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `bool` - Returns true if the button has just been touched down. The IsStartMenuTouchedDownOnIndex method is used to determine if the controller button has just been touched down. ### IsStartMenuTouchedUpOnIndex/1 > `public override bool IsStartMenuTouchedUpOnIndex(uint index)` * Parameters * `uint index` - The index of the tracked object to check for. * Returns * `bool` - Returns true if the button has just been released. The IsStartMenuTouchedUpOnIndex method is used to determine if the controller button has just been released.