Razer Hydra

The Razer Hydra offers high precision hand tracking with additional input buttons and sticks.



Razer Hydra is supported in InstantVR Advanced and Edge version 1.0 and higher.

Humanoid Control

Razer Hydra is supported in the Humanoid Control Pro package.


Razer Hydra hardware is supported.

Operating System

Razer Hydra is only supported on Microsoft Windows.



The script IVR_Hydra should be added to the character’s GameObject.

The position of the Hydra base station can be set in the IVR_Hydra script. This will remove the need to calibrate manually every time. This Tracker Position is relative to the player’s position. If the base station is 0.5 meter in front of the player and 0.8 meter from the ground, 0.2 meter to the left, the Tracker Position should be set to x = -0.2, y = 0.8, z = 0.5.

Humanoid Control

Razer Hydra support needs to be enabled in the Edit Menu->Preferences->Humanoid->Hydra Support.

Disabling Hydra Support ensures that no code related to the Razer Hydra is included in the build.


To enable hand tracking with the Razer Hydra, Razer Hydra needs to be enabled in the Humanoid Control component.

The Razer Hydra (Transform) is a reference to the Transform in the scene representing the Razer Hydra Basestation. This GameObject is found as a child of the Real World GameObject and is only visible in the scene when Humanoid Control->Settings->Show Real Objects has been enabled.

The Razer Hydra (Transform) can be used to set the position of the tracking relative to the player in the scene.

Hand Targets

The Razer Hydra controller needs to be enabled on the Hand Target to enable tracking.

Hydra controller models are shown in the scene when Humanoid Control->Settings->Show Real Objects is enabled. These models can be moved in the scene to get the controllers to the right position in the hands of the avatar. A reference to these transforms is found in the Tracker Transform field.

Controller Input

The buttons of the Hydra controller can be accessed using the Game Controller Input. The buttons are mapped as follows:

Left Hand
Joystick Movementscontroller.left.stickHorizontal/stickVertical
Joystick Presscontroller.left.stickButton
Button 1controller.left.button[0]
Button 2controller.left.button[1]
Button 3controller.left.button[2]
Button 4controller.left.button[3]
Right Hand
Joystick Movementscontroller.right.stickHorizontal/stickVertical
Joystick Presscontroller.right.stickButton
Button 1controller.right.button[0]
Button 2controller.right.button[1]
Button 3controller.right.button[2]
Button 4controller.right.button[3]