VRTK

VRTK is a popular virtual reality toolkit which supports various VR devices. It includes functionality for many useful actions and interactions.

With this extension it is possible to attach a humanoid avatar to the tracking of VRTK. Next to that networking is supported such that multiple players can share the same scene.

Prerequisites

Humanoid Control

VRTK is supported in all Humanoid Control packages in version 2.1 and higher. It can be used with any platform or hardware supported by VRTK itself.

SDK

VRTK version 3.2 is supported.

Setup

It is assumed that a working VRTK scene has been setup first. Information on how can be done is found on the VRTK support pages.

For Humanoid Control support, VRTK support needs to be enabled in the Edit Menu->Preferences->Humanoid->VRTK Support.

Disabling VRTK support ensures that no code related to VRTK is included in the build.

Configuration

To enable VRTK based tracking for a humanoid, VRTK needs to be enabled in the Humanoid Control component:

Head Target

For the Head Target, First Person Camera should be disabled because VRTK will manage the camera and the headset transform.

VRTK needs to be enabled on the Head Target. When running the scene, the Tracker Transform will point to the Camera which is selected based on the VRTK SDK settings.

Hand Target

For hand tracking, VRTK needs to be enabled on the Hand Targets. The Tracker Transform will point to the VRTK Tracked Controller selected by the VRTK SDK at runtime.

Humanoid Control will add a VRTK_ControllerEvents component to the Hand Target for supporting controller input. It will also automatically set the Left and Right Controller Script Aliases to the Left and Right Hand Targets in order to support controller input:

Controller input

The VRTK buttons are mapped to the Humanoid Controller Input as follows:

Touchpad touch controller.[].stickTouch
Touchpad press controller.[].stickButton
Trigger controller.[].trigger1
Grip controller.[].trigger2
Button One controller.[].button[0]
Button Two controller.[].button[1]
Start Menu Button controller.[].option