Class SteamVR_Behaviour_Skeleton
  
  
  
  
    Inheritance
    System.Object
    UnityEngine.Object
    UnityEngine.Component
    UnityEngine.Behaviour
    UnityEngine.MonoBehaviour
    SteamVR_Behaviour_Skeleton
      
   
  
    Inherited Members
    
      UnityEngine.MonoBehaviour.Invoke(System.String, System.Single)
    
    
      UnityEngine.MonoBehaviour.InvokeRepeating(System.String, System.Single, System.Single)
    
    
      UnityEngine.MonoBehaviour.CancelInvoke()
    
    
      UnityEngine.MonoBehaviour.CancelInvoke(System.String)
    
    
      UnityEngine.MonoBehaviour.IsInvoking(System.String)
    
    
      UnityEngine.MonoBehaviour.IsInvoking()
    
    
      UnityEngine.MonoBehaviour.StartCoroutine(System.Collections.IEnumerator)
    
    
      UnityEngine.MonoBehaviour.StartCoroutine_Auto(System.Collections.IEnumerator)
    
    
      UnityEngine.MonoBehaviour.StartCoroutine(System.String, System.Object)
    
    
      UnityEngine.MonoBehaviour.StartCoroutine(System.String)
    
    
      UnityEngine.MonoBehaviour.StopCoroutine(System.String)
    
    
      UnityEngine.MonoBehaviour.StopCoroutine(System.Collections.IEnumerator)
    
    
      UnityEngine.MonoBehaviour.StopCoroutine(UnityEngine.Coroutine)
    
    
      UnityEngine.MonoBehaviour.StopAllCoroutines()
    
    
      UnityEngine.MonoBehaviour.print(System.Object)
    
    
      UnityEngine.MonoBehaviour.useGUILayout
    
    
      UnityEngine.Behaviour.enabled
    
    
      UnityEngine.Behaviour.isActiveAndEnabled
    
    
      UnityEngine.Component.GetComponent(System.Type)
    
    
      UnityEngine.Component.GetComponent<T>()
    
    
      UnityEngine.Component.GetComponent(System.String)
    
    
      UnityEngine.Component.GetComponentInChildren(System.Type, System.Boolean)
    
    
      UnityEngine.Component.GetComponentInChildren(System.Type)
    
    
      UnityEngine.Component.GetComponentInChildren<T>()
    
    
      UnityEngine.Component.GetComponentInChildren<T>(System.Boolean)
    
    
      UnityEngine.Component.GetComponentsInChildren(System.Type)
    
    
      UnityEngine.Component.GetComponentsInChildren(System.Type, System.Boolean)
    
    
      UnityEngine.Component.GetComponentsInChildren<T>(System.Boolean)
    
    
      UnityEngine.Component.GetComponentsInChildren<T>(System.Boolean, System.Collections.Generic.List<T>)
    
    
      UnityEngine.Component.GetComponentsInChildren<T>()
    
    
      UnityEngine.Component.GetComponentsInChildren<T>(System.Collections.Generic.List<T>)
    
    
      UnityEngine.Component.GetComponentInParent(System.Type)
    
    
      UnityEngine.Component.GetComponentInParent<T>()
    
    
      UnityEngine.Component.GetComponentsInParent(System.Type)
    
    
      UnityEngine.Component.GetComponentsInParent(System.Type, System.Boolean)
    
    
      UnityEngine.Component.GetComponentsInParent<T>(System.Boolean)
    
    
      UnityEngine.Component.GetComponentsInParent<T>(System.Boolean, System.Collections.Generic.List<T>)
    
    
      UnityEngine.Component.GetComponentsInParent<T>()
    
    
      UnityEngine.Component.GetComponents(System.Type)
    
    
      UnityEngine.Component.GetComponents(System.Type, System.Collections.Generic.List<UnityEngine.Component>)
    
    
      UnityEngine.Component.GetComponents<T>(System.Collections.Generic.List<T>)
    
    
      UnityEngine.Component.GetComponents<T>()
    
    
      UnityEngine.Component.CompareTag(System.String)
    
    
      UnityEngine.Component.SendMessageUpwards(System.String, System.Object, UnityEngine.SendMessageOptions)
    
    
      UnityEngine.Component.SendMessageUpwards(System.String, System.Object)
    
    
      UnityEngine.Component.SendMessageUpwards(System.String)
    
    
      UnityEngine.Component.SendMessageUpwards(System.String, UnityEngine.SendMessageOptions)
    
    
      UnityEngine.Component.SendMessage(System.String, System.Object, UnityEngine.SendMessageOptions)
    
    
      UnityEngine.Component.SendMessage(System.String, System.Object)
    
    
      UnityEngine.Component.SendMessage(System.String)
    
    
      UnityEngine.Component.SendMessage(System.String, UnityEngine.SendMessageOptions)
    
    
      UnityEngine.Component.BroadcastMessage(System.String, System.Object, UnityEngine.SendMessageOptions)
    
    
      UnityEngine.Component.BroadcastMessage(System.String, System.Object)
    
    
      UnityEngine.Component.BroadcastMessage(System.String)
    
    
      UnityEngine.Component.BroadcastMessage(System.String, UnityEngine.SendMessageOptions)
    
    
      UnityEngine.Component.transform
    
    
      UnityEngine.Component.gameObject
    
    
      UnityEngine.Component.tag
    
    
      UnityEngine.Component.rigidbody
    
    
      UnityEngine.Component.rigidbody2D
    
    
      UnityEngine.Component.camera
    
    
      UnityEngine.Component.light
    
    
      UnityEngine.Component.animation
    
    
      UnityEngine.Component.constantForce
    
    
      UnityEngine.Component.renderer
    
    
      UnityEngine.Component.audio
    
    
      UnityEngine.Component.guiText
    
    
      UnityEngine.Component.networkView
    
    
      UnityEngine.Component.guiElement
    
    
      UnityEngine.Component.guiTexture
    
    
      UnityEngine.Component.collider
    
    
      UnityEngine.Component.collider2D
    
    
      UnityEngine.Component.hingeJoint
    
    
      UnityEngine.Component.particleEmitter
    
    
      UnityEngine.Component.particleSystem
    
    
      UnityEngine.Object.Destroy(UnityEngine.Object, System.Single)
    
    
      UnityEngine.Object.Destroy(UnityEngine.Object)
    
    
      UnityEngine.Object.DestroyImmediate(UnityEngine.Object, System.Boolean)
    
    
      UnityEngine.Object.DestroyImmediate(UnityEngine.Object)
    
    
      UnityEngine.Object.FindObjectsOfType(System.Type)
    
    
      UnityEngine.Object.DontDestroyOnLoad(UnityEngine.Object)
    
    
      UnityEngine.Object.DestroyObject(UnityEngine.Object, System.Single)
    
    
      UnityEngine.Object.DestroyObject(UnityEngine.Object)
    
    
      UnityEngine.Object.FindSceneObjectsOfType(System.Type)
    
    
      UnityEngine.Object.FindObjectsOfTypeIncludingAssets(System.Type)
    
    
      UnityEngine.Object.FindObjectsOfTypeAll(System.Type)
    
    
      UnityEngine.Object.ToString()
    
    
      UnityEngine.Object.GetInstanceID()
    
    
      UnityEngine.Object.GetHashCode()
    
    
      UnityEngine.Object.Equals(System.Object)
    
    
      UnityEngine.Object.Instantiate(UnityEngine.Object, UnityEngine.Vector3, UnityEngine.Quaternion)
    
    
      UnityEngine.Object.Instantiate(UnityEngine.Object, UnityEngine.Vector3, UnityEngine.Quaternion, UnityEngine.Transform)
    
    
      UnityEngine.Object.Instantiate(UnityEngine.Object)
    
    
      UnityEngine.Object.Instantiate(UnityEngine.Object, UnityEngine.Transform)
    
    
      UnityEngine.Object.Instantiate(UnityEngine.Object, UnityEngine.Transform, System.Boolean)
    
    
      UnityEngine.Object.Instantiate<T>(T)
    
    
      UnityEngine.Object.FindObjectsOfType<T>()
    
    
      UnityEngine.Object.FindObjectOfType(System.Type)
    
    
      UnityEngine.Object.FindObjectOfType<T>()
    
    
      UnityEngine.Object.name
    
    
      UnityEngine.Object.hideFlags
    
    
      System.Object.Equals(System.Object, System.Object)
    
    
      System.Object.GetType()
    
    
      System.Object.MemberwiseClone()
    
    
      System.Object.ReferenceEquals(System.Object, System.Object)
    
   
  
  Assembly: Assembly-CSharp.dll
  Syntax
  
    public class SteamVR_Behaviour_Skeleton : MonoBehaviour
   
  Fields
  
  
  
  attachRoutine
  
  
  Declaration
  
    protected Coroutine attachRoutine
   
  Field Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Coroutine | 
         | 
      
    
  
  
  
  blendPoser
  
  
  Declaration
  
    protected SteamVR_Skeleton_Poser blendPoser
   
  Field Value
  
  
  
  blendRoutine
  
  
  Declaration
  
    protected Coroutine blendRoutine
   
  Field Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Coroutine | 
         | 
      
    
  
  
  
  blendSnapshot
  
  
  Declaration
  
    protected SteamVR_Skeleton_PoseSnapshot blendSnapshot
   
  Field Value
  
  
  
  bones
  
  
  Declaration
  
    protected Transform[] bones
   
  Field Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Transform[] | 
         | 
      
    
  
  
  
  
  The device this action should apply to. Any if the action is not device specific.
 
  
  Declaration
  
    [Tooltip("The device this action should apply to. Any if the action is not device specific.")]
public SteamVR_Input_Sources inputSource
   
  Field Value
  
  
  
  mirroring
  Can be set to mirror the bone data across the x axis
 
  
  Declaration
  
    [Tooltip("Is this rendermodel a mirror of another one?")]
public SteamVR_Behaviour_Skeleton.MirrorType mirroring
   
  Field Value
  
  
  
  
  This Unity event will fire whenever the position or rotation of the bones are updated.
 
  
  Declaration
  
    public SteamVR_Behaviour_SkeletonEvent onBoneTransformsUpdated
   
  Field Value
  
  
  
  
  This C# event will fire whenever the position or rotation of this transform is updated.
 
  
  Declaration
  
    public SteamVR_Behaviour_Skeleton.UpdateHandler onBoneTransformsUpdatedEvent
   
  Field Value
  
  
  
  onConnectedChanged
  This Unity event will fire whenever the device is connected or disconnected
 
  
  Declaration
  
    public SteamVR_Behaviour_Skeleton_ConnectedChangedEvent onConnectedChanged
   
  Field Value
  
  
  
  onConnectedChangedEvent
  This C# event will fire whenever the device is connected or disconnected
 
  
  Declaration
  
    public SteamVR_Behaviour_Skeleton.DeviceConnectedChangeHandler onConnectedChangedEvent
   
  Field Value
  
  
  
  onlySetRotations
  Check this to not set the positions of the bones. This is helpful for differently scaled skeletons.
 
  
  Declaration
  
    [Tooltip("Check this to not set the positions of the bones. This is helpful for differently scaled skeletons.")]
public bool onlySetRotations
   
  Field Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Boolean | 
         | 
      
    
  
  
  
  onTrackingChanged
  This Unity event will fire whenever the device's tracking state changes
 
  
  Declaration
  
    public SteamVR_Behaviour_Skeleton_TrackingChangedEvent onTrackingChanged
   
  Field Value
  
  
  
  onTrackingChangedEvent
  This C# event will fire whenever the device's tracking state changes
 
  
  Declaration
  
    public SteamVR_Behaviour_Skeleton.TrackingChangeHandler onTrackingChangedEvent
   
  Field Value
  
  
  
  
  This Unity event will fire whenever the position or rotation of this transform is changed.
 
  
  Declaration
  
    public SteamVR_Behaviour_SkeletonEvent onTransformChanged
   
  Field Value
  
  
  
  
  This C# event will fire whenever the position or rotation of this transform is changed.
 
  
  Declaration
  
    public SteamVR_Behaviour_Skeleton.ChangeHandler onTransformChangedEvent
   
  Field Value
  
  
  
  
  This Unity event will fire whenever the position or rotation of this transform is updated.
 
  
  Declaration
  
    public SteamVR_Behaviour_SkeletonEvent onTransformUpdated
   
  Field Value
  
  
  
  
  This C# event will fire whenever the position or rotation of this transform is updated.
 
  
  Declaration
  
    public SteamVR_Behaviour_Skeleton.UpdateHandler onTransformUpdatedEvent
   
  Field Value
  
  
  
  origin
  The transform this transform should be relative to
 
  
  Declaration
  
    [Tooltip("If not set, relative to parent")]
public Transform origin
   
  Field Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Transform | 
         | 
      
    
  
  
  
  rangeOfMotion
  The range of motion you'd like the hand to move in. With controller is the best estimate of the fingers wrapped around a controller. Without is from a flat hand to a fist.
 
  
  Declaration
  
    [Tooltip("The range of motion you'd like the hand to move in. With controller is the best estimate of the fingers wrapped around a controller. Without is from a flat hand to a fist.")]
public EVRSkeletalMotionRange rangeOfMotion
   
  Field Value
  
  
  
  rangeOfMotionBlendRoutine
  
  
  Declaration
  
    protected Coroutine rangeOfMotionBlendRoutine
   
  Field Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Coroutine | 
         | 
      
    
  
  
  
  rightFlipAngle
  
  
  Declaration
  
    protected Quaternion rightFlipAngle
   
  Field Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Quaternion | 
         | 
      
    
  
  
  
  skeletonAction
  
  
  Declaration
  
    [Tooltip("If not set, will try to auto assign this based on 'Skeleton' + inputSource")]
public SteamVR_Action_Skeleton skeletonAction
   
  Field Value
  
  
  
  skeletonBlend
  How much of a blend to apply to the transform positions and rotations.
Set to 0 for the transform orientation to be set by an animation.
Set to 1 for the transform orientation to be set by the skeleton action.
 
  
  Declaration
  
    [Range(0F, 1F)]
[Tooltip("Modify this to blend between animations setup on the hand")]
public float skeletonBlend
   
  Field Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Single | 
         | 
      
    
  
  
  
  skeletonRoot
  The root Transform of the skeleton. Needs to have a child (wrist) then wrist should have children in the order thumb, index, middle, ring, pinky
 
  
  Declaration
  
    [Tooltip("This needs to be in the order of: root -> wrist -> thumb, index, middle, ring, pinky")]
public Transform skeletonRoot
   
  Field Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Transform | 
         | 
      
    
  
  
  
  temporaryRangeOfMotion
  The range of motion that is set temporarily (call ResetTemporaryRangeOfMotion to reset to rangeOfMotion)
 
  
  Declaration
  
    protected EVRSkeletalMotionRange? temporaryRangeOfMotion
   
  Field Value
  
  
  
  updatePose
  Whether or not to update this transform's position and rotation inline with the skeleton transforms or if this is handled in another script
 
  
  Declaration
  
    [Tooltip("Set to true if you want this script to update its position and rotation. False if this will be handled elsewhere")]
public bool updatePose
   
  Field Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Boolean | 
         | 
      
    
  
  Properties
  
  
  
  
  actionSet
  
  
  Declaration
  
    public SteamVR_ActionSet actionSet { get; }
   
  Property Value
  
  
  
  
  auxs
  An array of all the finger aux transforms
 
  
  Declaration
  
    public Transform[] auxs { get; protected set; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Transform[] | 
         | 
      
    
  
  
  
  
  direction
  
  
  Declaration
  
    public SteamVR_ActionDirections direction { get; }
   
  Property Value
  
  
  
  
  distals
  An array of all the finger distal joint transforms
 
  
  Declaration
  
    public Transform[] distals { get; protected set; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Transform[] | 
         | 
      
    
  
  
  
  
  fingerCurls
  An array of five 0-1 values representing how curled a finger is. 0 being straight, 1 being fully curled. Index 0 being thumb, index 4 being pinky
 
  
  Declaration
  
    public float[] fingerCurls { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Single[] | 
         | 
      
    
  
  
  
  
  indexAux
  
  
  Declaration
  
    public Transform indexAux { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Transform | 
         | 
      
    
  
  
  
  
  indexCurl
  An 0-1 value representing how curled a finger is. 0 being straight, 1 being fully curled.
 
  
  Declaration
  
    public float indexCurl { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Single | 
         | 
      
    
  
  
  
  
  indexDistal
  
  
  Declaration
  
    public Transform indexDistal { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Transform | 
         | 
      
    
  
  
  
  
  
  
  
  Declaration
  
    public Transform indexMetacarpal { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Transform | 
         | 
      
    
  
  
  
  
  indexMiddle
  
  
  Declaration
  
    public Transform indexMiddle { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Transform | 
         | 
      
    
  
  
  
  
  indexProximal
  
  
  Declaration
  
    public Transform indexProximal { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Transform | 
         | 
      
    
  
  
  
  
  indexTip
  
  
  Declaration
  
    public Transform indexTip { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Transform | 
         | 
      
    
  
  
  
  
  isActive
  Returns whether this action is bound and the action set is active
 
  
  Declaration
  
    public bool isActive { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Boolean | 
         | 
      
    
  
  
  
  
  isBlending
  Returns true if we are in the process of blending the skeletonBlend field (between animation and bone data)
 
  
  Declaration
  
    public bool isBlending { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Boolean | 
         | 
      
    
  
  
  
  
  middleAux
  
  
  Declaration
  
    public Transform middleAux { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Transform | 
         | 
      
    
  
  
  
  
  middleCurl
  An 0-1 value representing how curled a finger is. 0 being straight, 1 being fully curled.
 
  
  Declaration
  
    public float middleCurl { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Single | 
         | 
      
    
  
  
  
  
  middleDistal
  
  
  Declaration
  
    public Transform middleDistal { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Transform | 
         | 
      
    
  
  
  
  
  
  
  
  Declaration
  
    public Transform middleMetacarpal { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Transform | 
         | 
      
    
  
  
  
  
  middleMiddle
  
  
  Declaration
  
    public Transform middleMiddle { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Transform | 
         | 
      
    
  
  
  
  
  middleProximal
  
  
  Declaration
  
    public Transform middleProximal { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Transform | 
         | 
      
    
  
  
  
  
  middles
  An array of all the finger middle joint transforms
 
  
  Declaration
  
    public Transform[] middles { get; protected set; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Transform[] | 
         | 
      
    
  
  
  
  
  middleTip
  
  
  Declaration
  
    public Transform middleTip { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Transform | 
         | 
      
    
  
  
  
  
  pinkyAux
  
  
  Declaration
  
    public Transform pinkyAux { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Transform | 
         | 
      
    
  
  
  
  
  pinkyCurl
  An 0-1 value representing how curled a finger is. 0 being straight, 1 being fully curled.
 
  
  Declaration
  
    public float pinkyCurl { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Single | 
         | 
      
    
  
  
  
  
  pinkyDistal
  
  
  Declaration
  
    public Transform pinkyDistal { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Transform | 
         | 
      
    
  
  
  
  
  
  
  
  Declaration
  
    public Transform pinkyMetacarpal { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Transform | 
         | 
      
    
  
  
  
  
  pinkyMiddle
  
  
  Declaration
  
    public Transform pinkyMiddle { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Transform | 
         | 
      
    
  
  
  
  
  pinkyProximal
  
  
  Declaration
  
    public Transform pinkyProximal { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Transform | 
         | 
      
    
  
  
  
  
  pinkyTip
  
  
  Declaration
  
    public Transform pinkyTip { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Transform | 
         | 
      
    
  
  
  
  
  predictedSecondsFromNow
  
  
  Declaration
  
    public float predictedSecondsFromNow { get; set; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Single | 
         | 
      
    
  
  
  
  
  proximals
  An array of all the finger proximal joint transforms
 
  
  Declaration
  
    public Transform[] proximals { get; protected set; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Transform[] | 
         | 
      
    
  
  
  
  
  ringAux
  
  
  Declaration
  
    public Transform ringAux { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Transform | 
         | 
      
    
  
  
  
  
  ringCurl
  An 0-1 value representing how curled a finger is. 0 being straight, 1 being fully curled.
 
  
  Declaration
  
    public float ringCurl { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Single | 
         | 
      
    
  
  
  
  
  ringDistal
  
  
  Declaration
  
    public Transform ringDistal { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Transform | 
         | 
      
    
  
  
  
  
  
  
  
  Declaration
  
    public Transform ringMetacarpal { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Transform | 
         | 
      
    
  
  
  
  
  ringMiddle
  
  
  Declaration
  
    public Transform ringMiddle { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Transform | 
         | 
      
    
  
  
  
  
  ringProximal
  
  
  Declaration
  
    public Transform ringProximal { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Transform | 
         | 
      
    
  
  
  
  
  ringTip
  
  
  Declaration
  
    public Transform ringTip { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Transform | 
         | 
      
    
  
  
  
  
  root
  
  
  Declaration
  
    public Transform root { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Transform | 
         | 
      
    
  
  
  
  
  skeletalTrackingLevel
  Get the accuracy level of the skeletal tracking data.
* Estimated: Body part location can’t be directly determined by the device. Any skeletal pose provided by the device is estimated based on the active buttons, triggers, joysticks, or other input sensors. Examples include the Vive Controller and gamepads.
* Partial: Body part location can be measured directly but with fewer degrees of freedom than the actual body part.Certain body part positions may be unmeasured by the device and estimated from other input data.Examples include Knuckles or gloves that only measure finger curl
* Full: Body part location can be measured directly throughout the entire range of motion of the body part.Examples include hi-end mocap systems, or gloves that measure the rotation of each finger segment.
 
  
  Declaration
  
    public EVRSkeletalTrackingLevel skeletalTrackingLevel { get; }
   
  Property Value
  
  
  
  
  thumbAux
  
  
  Declaration
  
    public Transform thumbAux { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Transform | 
         | 
      
    
  
  
  
  
  thumbCurl
  An 0-1 value representing how curled a finger is. 0 being straight, 1 being fully curled.
 
  
  Declaration
  
    public float thumbCurl { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Single | 
         | 
      
    
  
  
  
  
  thumbDistal
  
  
  Declaration
  
    public Transform thumbDistal { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Transform | 
         | 
      
    
  
  
  
  
  
  
  
  Declaration
  
    public Transform thumbMetacarpal { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Transform | 
         | 
      
    
  
  
  
  
  thumbMiddle
  
  
  Declaration
  
    public Transform thumbMiddle { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Transform | 
         | 
      
    
  
  
  
  
  thumbProximal
  
  
  Declaration
  
    public Transform thumbProximal { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Transform | 
         | 
      
    
  
  
  
  
  thumbTip
  
  
  Declaration
  
    public Transform thumbTip { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Transform | 
         | 
      
    
  
  
  
  
  tips
  An array of all the finger tip transforms
 
  
  Declaration
  
    public Transform[] tips { get; protected set; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Transform[] | 
         | 
      
    
  
  
  
  
  wrist
  
  
  Declaration
  
    public Transform wrist { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Transform | 
         | 
      
    
  
  Methods
  
  
  
  
  AssignBonesArray()
  
  
  Declaration
  
    protected virtual void AssignBonesArray()
   
  
  
  
  Awake()
  
  
  Declaration
  
    protected virtual void Awake()
   
  
  
  
  BlendTo(Single, Single)
  Blend from the current skeletonBlend amount to a specified new amount.
 
  
  Declaration
  
    public void BlendTo(float blendToAmount, float overTime)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Single | 
        blendToAmount | 
        The amount of blend you want to apply.
0 being fully set by animations, 1 being fully set by bone data from the action. 
 | 
      
      
        | System.Single | 
        overTime | 
        How long you want the blend to take (in seconds) 
 | 
      
    
  
  
  
  
  BlendToAnimation(Single)
  Blend from the current skeletonBlend amount to full animation data (no bone data. skeletonBlend = 0)
 
  
  Declaration
  
    public void BlendToAnimation(float overTime = 0.1F)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Single | 
        overTime | 
        How long you want the blend to take (in seconds) 
 | 
      
    
  
  
  
  
  BlendToPoser(SteamVR_Skeleton_Poser, Single)
  Blend from the current skeletonBlend amount to pose animation. (skeletonBlend = 0)
Note: This will ignore the root position and rotation of the pose.
 
  
  Declaration
  
    public void BlendToPoser(SteamVR_Skeleton_Poser poser, float overTime = 0.1F)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | SteamVR_Skeleton_Poser | 
        poser | 
         | 
      
      
        | System.Single | 
        overTime | 
        How long you want the blend to take (in seconds) 
 | 
      
    
  
  
  
  
  BlendToSkeleton(Single)
  Blend from the current skeletonBlend amount to full bone data. (skeletonBlend = 1)
 
  
  Declaration
  
    public void BlendToSkeleton(float overTime = 0.1F)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Single | 
        overTime | 
        How long you want the blend to take (in seconds) 
 | 
      
    
  
  
  
  
  CheckSkeletonAction()
  
  
  Declaration
  
    protected virtual void CheckSkeletonAction()
   
  
  
  
  DoBlendRoutine(Single, Single)
  
  
  Declaration
  
    protected IEnumerator DoBlendRoutine(float blendToAmount, float overTime)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Single | 
        blendToAmount | 
         | 
      
      
        | System.Single | 
        overTime | 
         | 
      
    
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Collections.IEnumerator | 
         | 
      
    
  
  
  
  
  DoRangeOfMotionBlend(EVRSkeletalMotionRange, EVRSkeletalMotionRange, Single)
  
  
  Declaration
  
    protected IEnumerator DoRangeOfMotionBlend(EVRSkeletalMotionRange oldRangeOfMotion, EVRSkeletalMotionRange newRangeOfMotion, float overTime)
   
  Parameters
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Collections.IEnumerator | 
         | 
      
    
  
  
  
  
  ForceToReferencePose(EVRSkeletalReferencePose)
  Returns an array of positions/rotations that represent the state of each bone in a reference pose.
 
  
  Declaration
  
    public void ForceToReferencePose(EVRSkeletalReferencePose referencePose)
   
  Parameters
  
  
  
  
  GetBlendPoseForBone(Int32, Quaternion)
  
  
  Declaration
  
    protected virtual Quaternion GetBlendPoseForBone(int boneIndex, Quaternion skeletonRotation)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Int32 | 
        boneIndex | 
         | 
      
      
        | UnityEngine.Quaternion | 
        skeletonRotation | 
         | 
      
    
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Quaternion | 
         | 
      
    
  
  
  
  
  GetBone(Int32)
  Gets the transform for a bone by the joint index. Joint indexes specified in: SteamVR_Skeleton_JointIndexes
 
  
  Declaration
  
    public virtual Transform GetBone(int joint)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Int32 | 
        joint | 
        The joint index of the bone. Specified in SteamVR_Skeleton_JointIndexes 
 | 
      
    
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Transform | 
         | 
      
    
  
  
  
  
  GetBonePosition(Int32, Boolean)
  Gets the position of the transform for a bone by the joint index. Joint indexes specified in: SteamVR_Skeleton_JointIndexes
 
  
  Declaration
  
    public Vector3 GetBonePosition(int joint, bool local = false)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Int32 | 
        joint | 
        The joint index of the bone. Specified in SteamVR_Skeleton_JointIndexes 
 | 
      
      
        | System.Boolean | 
        local | 
        true to get the localspace position for the joint (position relative to this joint's parent) 
 | 
      
    
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Vector3 | 
         | 
      
    
  
  
  
  
  GetBonePositions()
  
  
  Declaration
  
    protected Vector3[] GetBonePositions()
   
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Vector3[] | 
         | 
      
    
  
  
  
  
  GetBoneRotation(Int32, Boolean)
  Gets the rotation of the transform for a bone by the joint index. Joint indexes specified in: SteamVR_Skeleton_JointIndexes
 
  
  Declaration
  
    public Quaternion GetBoneRotation(int joint, bool local = false)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Int32 | 
        joint | 
        The joint index of the bone. Specified in SteamVR_Skeleton_JointIndexes 
 | 
      
      
        | System.Boolean | 
        local | 
        true to get the localspace rotation for the joint (rotation relative to this joint's parent) 
 | 
      
    
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Quaternion | 
         | 
      
    
  
  
  
  
  GetBoneRotations()
  
  
  Declaration
  
    protected Quaternion[] GetBoneRotations()
   
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UnityEngine.Quaternion[] | 
         | 
      
    
  
  
  
  
  
  
  
  Declaration
  
    protected bool IsMetacarpal(int boneIndex)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Int32 | 
        boneIndex | 
         | 
      
    
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Boolean | 
         | 
      
    
  
  
  
  
  OnDisable()
  
  
  Declaration
  
    protected virtual void OnDisable()
   
  
  
  
  OnEnable()
  
  
  Declaration
  
    protected virtual void OnEnable()
   
  
  
  
  RangeOfMotionBlend(EVRSkeletalMotionRange, Single)
  
  
  Declaration
  
    protected void RangeOfMotionBlend(EVRSkeletalMotionRange newRangeOfMotion, float blendOverSeconds)
   
  Parameters
  
  
  
  
  ResetTemporaryRangeOfMotion(Single)
  Resets the previously set temporary range of motion.
Will return to the range of motion defined by the rangeOfMotion field.
 
  
  Declaration
  
    public void ResetTemporaryRangeOfMotion(float blendOverSeconds = 0.1F)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Single | 
        blendOverSeconds | 
        How long you want the blend to the standard range of motion to take (in seconds) 
 | 
      
    
  
  
  
  
  ResetTemporaryRangeOfMotionBlend(Single)
  
  
  Declaration
  
    protected void ResetTemporaryRangeOfMotionBlend(float blendOverSeconds)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Single | 
        blendOverSeconds | 
         | 
      
    
  
  
  
  
  SetBonePosition(Int32, Vector3)
  
  
  Declaration
  
    protected virtual void SetBonePosition(int boneIndex, Vector3 localPosition)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Int32 | 
        boneIndex | 
         | 
      
      
        | UnityEngine.Vector3 | 
        localPosition | 
         | 
      
    
  
  
  
  
  SetBoneRotation(Int32, Quaternion)
  
  
  Declaration
  
    protected virtual void SetBoneRotation(int boneIndex, Quaternion localRotation)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Int32 | 
        boneIndex | 
         | 
      
      
        | UnityEngine.Quaternion | 
        localRotation | 
         | 
      
    
  
  
  
  
  SetRangeOfMotion(EVRSkeletalMotionRange, Single)
  Permanently sets the range of motion for this component.
 
  
  Declaration
  
    public void SetRangeOfMotion(EVRSkeletalMotionRange newRangeOfMotion, float blendOverSeconds = 0.1F)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | EVRSkeletalMotionRange | 
        newRangeOfMotion | 
        The new range of motion to be set.
WithController being the best estimation of where fingers are wrapped around the controller (pressing buttons, etc).
WithoutController being a range between a flat hand and a fist. 
 | 
      
      
        | System.Single | 
        blendOverSeconds | 
        How long you want the blend to the new range of motion to take (in seconds) 
 | 
      
    
  
  
  
  
  SetTemporaryRangeOfMotion(EVRSkeletalMotionRange, Single)
  Sets a temporary range of motion for this action that can easily be reset (using ResetTemporaryRangeOfMotion).
This is useful for short range of motion changes, for example picking up a controller shaped object
 
  
  Declaration
  
    public void SetTemporaryRangeOfMotion(EVRSkeletalMotionRange newRangeOfMotion, float blendOverSeconds = 0.1F)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | EVRSkeletalMotionRange | 
        newRangeOfMotion | 
        The new range of motion you want to apply (temporarily) 
 | 
      
      
        | System.Single | 
        blendOverSeconds | 
        How long you want the blend to the new range of motion to take (in seconds) 
 | 
      
    
  
  
  
  
  
  
  
  Declaration
  
    protected virtual void SteamVR_Input_OnSkeletonsUpdated(bool skipSendingEvents)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Boolean | 
        skipSendingEvents | 
         | 
      
    
  
  
  
  
  TemporaryRangeOfMotionBlend(EVRSkeletalMotionRange, Single)
  
  
  Declaration
  
    protected void TemporaryRangeOfMotionBlend(EVRSkeletalMotionRange newRangeOfMotion, float blendOverSeconds)
   
  Parameters
  
  
  
  
  UpdatePose()
  
  
  Declaration
  
    protected virtual void UpdatePose()
   
  
  
  
  UpdateSkeleton()
  
  
  Declaration
  
    protected virtual void UpdateSkeleton()
   
  
  
  
  
  
  
  Declaration
  
    protected virtual void UpdateSkeletonTransforms()