{"_id":"58796783cd4a9c37007c9771","__v":0,"user":"571fa519db52d01700f5cf3d","version":{"_id":"58796781cd4a9c37007c96ef","__v":4,"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"},"project":"571fa55ca0acd42000af9545","category":{"_id":"58796781cd4a9c37007c96fc","version":"58796781cd4a9c37007c96ef","project":"571fa55ca0acd42000af9545","__v":0,"sync":{"url":"","isSync":false},"reference":false,"createdAt":"2017-01-01T19:32:06.235Z","from_sync":false,"order":14,"slug":"base-sdk","title":"Base SDK"},"parentDoc":null,"updates":[],"next":{"pages":[],"description":""},"createdAt":"2017-01-01T19:33:36.721Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":3,"body":"> extends ScriptableObject\n\n## Overview\n\nThe Base Controller SDK script provides a bridge to SDK methods that deal with the input devices.\n\nThis is an abstract class to implement the interface required by all implemented SDKs.\n\n## Class Variables\n\n * `public enum ButtonPressTypes` - Concepts of controller button press\n  * `Press` - The button is currently being pressed.\n  * `PressDown` - The button has just been pressed down.\n  * `PressUp` - The button has just been released.\n  * `Touch` - The button is currently being touched.\n  * `TouchDown` - The button has just been touched.\n  * `TouchUp` - The button is no longer being touched.\n * `public enum ControllerElements` - The elements of a generic controller\n  * `AttachPoint` - The default point on the controller to attach grabbed objects to.\n  * `Trigger` - The trigger button.\n  * `GripLeft` - The left part of the grip button collection.\n  * `GripRight` - The right part of the grip button collection.\n  * `Touchpad` - The touch pad/stick.\n  * `ButtonOne` - The first generic button.\n  * `ButtonTwo` - The second generic button.\n  * `SystemMenu` - The system menu button.\n  * `Body` - The encompassing mesh of the controller body.\n  * `StartMenu` - The start menu button.\n * `public enum ControllerHand` - Controller hand reference.\n  * `None` - No hand is assigned.\n  * `Left` - The left hand is assigned.\n  * `Right` - The right hand is assigned.\n\n## Class Methods\n\n### ProcessUpdate/2\n\n  > `public abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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_basecontroller","type":"basic","title":"SDK_BaseController"}

SDK_BaseController


> extends ScriptableObject ## Overview The Base Controller SDK script provides a bridge to SDK methods that deal with the input devices. This is an abstract class to implement the interface required by all implemented SDKs. ## Class Variables * `public enum ButtonPressTypes` - Concepts of controller button press * `Press` - The button is currently being pressed. * `PressDown` - The button has just been pressed down. * `PressUp` - The button has just been released. * `Touch` - The button is currently being touched. * `TouchDown` - The button has just been touched. * `TouchUp` - The button is no longer being touched. * `public enum ControllerElements` - The elements of a generic controller * `AttachPoint` - The default point on the controller to attach grabbed objects to. * `Trigger` - The trigger button. * `GripLeft` - The left part of the grip button collection. * `GripRight` - The right part of the grip button collection. * `Touchpad` - The touch pad/stick. * `ButtonOne` - The first generic button. * `ButtonTwo` - The second generic button. * `SystemMenu` - The system menu button. * `Body` - The encompassing mesh of the controller body. * `StartMenu` - The start menu button. * `public enum ControllerHand` - Controller hand reference. * `None` - No hand is assigned. * `Left` - The left hand is assigned. * `Right` - The right hand is assigned. ## Class Methods ### ProcessUpdate/2 > `public abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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.