This class represents a child class of VG_ExternalController.

If you haven’t yet, have a short look at VG_ExternalControllerManager on the purpose of a VG_ExternalController.


This is an external controller class that supports the Oculus Finger Tracking controller as an external controller.

The following requirements have to be met to be able to use this controller:

  • You have the Oculus SDK installed on your computer.
  • You have the Oculus Integration Plugin imported into your Unity project.
  • You have the same Oculus Integration plugin version as the one on your headset and the Oculus App.
  • You use Oculus through “Legacy OVR” (Oculus -> Tools -> OVR Utilitites Plugin -> Set OVR to Legacy LibOVR).
  • You have setup the AndroidManifest.xml properly, i.e. it needs to include

     <uses-permission android:name="com.oculus.permission.HAND_TRACKING" />
     <uses-feature android:name="" android:required="false" />
  • You may optionally also add the following into the AndroidManifest.xml to use V2.0 of Oculus finger tracking:
      <meta-data android:name="com.oculus.handtracking.version" android:value="V2.0" />

If these requirements are met, you will be able to use the “VG_EC_OculusHand” controller profile to setup your MyVirtualGrasp configuration (otherwise an error will appear on the console).

VG Controller profile in Unity.
VG Controller profile in Unity.


Hand Poses

All finger bones are mapped.

Will be controlled through OVR controller system, such as OVRPlugin.Skeleton.

Grab Signals

will be controlled through the finger configuration (i.e. their state of bending).