Updated on 16th Feb 2022

โœจ Tutorial: Adding a new Hand Mesh

Before you continue, make sure that your new Skeletal Mesh is using the default UE4 Mannequin Right Hand structure, otherwise you will have to manually make changes to VRGK and/or your mesh to make it work. This tutorial is only showing you how you can use an imported Skeletal Mesh that is based on the default UE4 Mannequin Hands.

The used Hand Mesh is a 3rd party asset, used for tutorial purposes and is NOT included in VRGK.

Setup

Import your Model into the Unreal Engine 4 Project that is being used with VRGK. If you import your model, you may be able to directly create or set a skeleton asset. Please choose the Skeleton that comes with VRGK called "Skel_UE4_MannequinHand_Right_Skeleton". Doing that allows all the existing functionality from VRGK to work without problems.

If you did migrate your Hand Mesh from another Project, or have created a new skeleton instead, you have to reassign its skeleton asset. You can do that by right-clicking on the character skeletal mesh in the content browser:

Please choose the Skeleton that comes with VRGK called "Skel_UE4_MannequinHand_Right_Skeleton":

Please remember that if you don't assign your own Hand Mesh to the skeleton that comes included with VRGK, you will get errors. Even if the skeleton structure is the same, Unreal Engine does not know about it until you manually set the correct asset reference.

Changing the used Player Hand

To change the skeletal mesh that is used for your Hands, simply open the VR Hands Actor that you are using and select the Skeletal Mesh Component "HandSkeletalMesh". For this example, we are going to use the base BP_VRHand Actor. (You can ignore the upper default ue4 mannequin hand. This one is only used for the Snapshot Poser in combination with the Full Body Avatar.)

Finished Results

Hands and Gestures

Hand Posing

Different Hand Sizes

VRGK currently only supports the default UE4 mannequin hand size at scale 1. If you have smaller or bigger hand meshes, you will have to manually update Collision Sizes, Position, Transforms inside the BP_VRHand. The same goes for any other functionality that may be different.