Gesture (ActorComponent)


VIVE Wave™ SDK provides two UActorComponents for Hand Gesture and Hand Tracking.

Hand Gesture: A collection of predefined gesture. For example, Like (Thumb Up), OK and Five.

Hand Tracking: The position and rotation (wrist only) of every hand skeleton joint.

By adding these components to your Blueprints, you can easily use Hand Gesture and Hand Tracking features.

Hand Gesture


By adding the WaveVRStaticGesture component, you can get static gesture events as defined by the code:

UENUM(BlueprintType, Category = Category = "WaveVR|Gesture")
enum class EWaveVRStaticGesture : uint8
        TYPE_INVALID    = 0,    /**< The gesture is invalid. */
        TYPE_UNKNOWN    = 1,    /**< Unknow gesture type. */
        TYPE_FIST       = 2,    /**< Represent fist gesture. */
        TYPE_FIVE       = 3,    /**< Represent five gesture. */
        TYPE_OK         = 4,    /**< Represent ok gesture. */
        TYPE_LIKE       = 5,    /**< Represent thumb up gesture. */
        TYPE_POINT      = 6,    /**< Represent index up gesture. */
        TYPE_PINCH      = 7,    /**< Represent pinch gesture. */

This photo demonstrates how to get the static gesture events of the right hand:


Hand Tracking

VIVE Wave™ SDK hand bones are defined as:



  • Only the Wrist has both position and rotation. The other bones only have the position.
../_images/UnrealGestureActorComponent03.png ../_images/UnrealGestureActorComponent04.png

By adding the WaveVRSkeletonBone component and selecting the Bone Id, you can use the APIs below:

  • IsValidPose: For checking if the pose is valid.
  • GetLocation: For getting the bone location in FVector
  • GetRotation: For getting the bone rotation in FRotator


  • Only the Wrist has rotation. Do not use GetRotation on other bones.