C# Mask ShaderLab
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.


vrtk logo

VRTK - Virtual Reality Toolkit

A productive VR Toolkit for rapidly building VR solutions in Unity3d.

Slack Documentation Twitter Follow YouTube Waffle

Supported SDK Download Link
UnityEngine.VR Core Unity3d library
VR Simulator Included
SteamVR SteamVR Plugin
Oculus Oculus Integration
Windows Mixed Reality Windows Mixed Reality For Unity
* Ximmerse Ximmerse Unity SDK
* Daydream Google VR SDK for Unity
* HyperealVR Hypereal VR Unity Plugin

* unsupported/experimental


The API documentation for the project can be found within this repository in API.md which includes the up to date documentation for this GitHub repository.

Alternatively, the stable versions of the documentation can be viewed online at http://docs.vrtk.io.

Frequently Asked Questions

If you have an issue or question then check the FAQ.md document to see if your query has already been answered.

Getting Started

VRTK offers a VR Simulator that works without any third party SDK, but VR device support requires a supported VR SDK to be imported into the Unity project.

  • Download or clone this repository.
  • Open the folder in Unity to load the project.
  • Have a look at the included example scenes.

Important Note

The example scenes no longer contain the VRTK_SDKManager as this is loaded in at runtime via the VRTK_SDKManager_Constructor scene. As the VRTK_SDKManager script is responsible for setting up the required Unity Scripting Define Symbols for installed SDKs it is required that the VRTK_SDKManager_Constructor scene is opened in the Unity Editor when first using the project or when installing a new supported SDK so it can set up the scripting define symbols. The example scenes will not work until the scripting define symbols have been set up correctly so please ensure that the VRTK_SDKManager_Constructor scene is loaded into the Unity Editor first.

The example scenes support all the VRTK supported VR SDKs. To make use of VR devices (besides the included VR Simulator) import the needed third party VR SDK into the project.

For further information about setting up a specific SDK and using VRTK in your own project, check out the GETTING_STARTED.md document.

What's In The Box

VRTK is a collection of useful scripts and concepts to aid building VR solutions rapidly and easily in Unity3d 5+.

It covers a number of common solutions such as:

  • Locomotion within virtual space.
  • Interactions like touching, grabbing and using objects
  • Interacting with Unity3d UI elements through pointers or touch.
  • Body physics within virtual space.
  • 2D and 3D controls like buttons, levers, doors, drawers, etc.
  • And much more...


A collection of example scenes have been created to aid with understanding the different aspects of VRTK.

A list of the examples can be viewed in Examples/README.md which includes an up to date list of examples showcasing the features of VRTK.

The example scenes support all the VRTK supported VR SDKs. To make use of VR devices (besides the included VR Simulator) import the needed third party VR SDK into the project.

Made With VRTK

image image image image image image image image image image image image

Many games and experiences have already been made with VRTK.

Check out the MADE_WITH_VRTK.md document to see the full list.


I would love to get contributions from you! Follow the instructions below on how to make pull requests.

For the full contribution guidelines see the CONTRIBUTING.md document.

Pull requests

  1. Fork the project, clone your fork, and configure the remotes.
    1. If you're submitting a bug fix or refactor pull request then target the repository master branch.
    2. If you're submitting a new feature or enhancement that changes functionality then target the next release branch in the repository (which is currently 3.3.0-alpha).
  2. Commit your changes in logical units.
  3. Make sure all the example scenes are still working.
  4. Push your topic branch up to your fork.
  5. Open a Pull Request with a clear title and description.


Code released under the MIT License.

Any Third Party Licenses can be viewed in THIRD_PARTY_NOTICES.md.