XR Hand Tracking Manager API
Static | Description |
GameObject DefaultLeftHandPrefab | Reference to the default Left Hand prefab in resource folder. Packages > Prefabs > Resources > QualcommHandLeft |
GameObject DefaultRightHandPrefab | Reference to the default Right Hand prefab in resource folder. Package > Prefabs > Resources > QualcommHandRight |
XRHandTrackingManager InstantiateHandTrackingManager() | Instantiate a Hand Tracking Manager with Default Hand prefabs |
XRHandTrackingManager GetOrCreate(GameObject leftHandPrefab, GameObject rightHandPrefab) | Gets existing or creates a Hand Tracking Manager if it doesn't exist with Hand prefabs given in parameters |
void Destroy(XRHandTrackingManager manager) | Destroys a given Hand Tracking Manager instance or tries to find one to destroy if it does exist |
Non-Static | Description |
GameObject LeftHandPrefab | Left prefab object that will be instantiated |
GameObject RightHandPrefab | Right prefab object that will be instantiated |
void RefreshLeftHand() | Regenerates the left hand object if the prefab has changed |
void RefreshRightHand() | Regenerates the right hand object if the prefab has changed |
void ToggleLeftHand(bool visible) | Toggles the left hand visibility |
void ToggleRightHand(bool visible) | Toggles the right hand visibility |
void SetLeftHandSkin(HandSkin skin) | Sets the left hand skin if the hand object is skinnable |
void SetRightHandSkin(HandSkin skin) | Sets the right hand skin if the hand object is skinnable |
void StartHandTracking() | Manually starts hand tracking subsystem if it is present in subsystem manager. |
void StopHandTracking() | Manually stops hand tracking subsystem if it is present in subsystem manager. |
XR Hand Tracking Subsystem
Static | Description |
XRHandTrackingSubsystem GetSubsystemInManager() | Returns the first XR Hand Tracking Subsystem instance in the Subsystem Manager if it exists |
Non-Static | Description |
HandTrackingStatus Status | Gets hand tracking back-end status. It can be Idle , Running or Error |
Hand LeftHand | Left hand data |
Hand RightHand | Right hand data |
Hand GetHand(XrHandedness handedness) | Gets hand data by handedness |
event Action<Hand> OnHandTracked | Raised if a hand has been tracked this frame |
event Action<Hand> OnHandUntracked | Raised if a hand has been untracked this frame |
event Action OnHandsUpdated | Raised when both hands data have been updated |
Hand Struct
Non-Static | description |
XrHandedness Handedness | Hand handedness. It can be XR_HAND_LEFT or XR_HAND_RIGHT |
XrSpace Space | Space in which joint data are stored. It can be XR_HAND_LOCAL or XR_HAND_WORLD (in XR Origin) |
bool IsTracked | True if the hand is currently tracked |
XrHandGesture Gesture | Gesture detected by hand tracking back-end |
float FlipRatio | Hand flip ratio from -1f to 1f respectively weither the palm orientation is turned opposite to HMD position or toward |
float Scale | Hand scale from .5f to 1.6f |
Pose Root | Hand root pose (equivalent to the wrist center pose in XR Origin) |
Pose[] Joints | Hand joint poses |