provencher / MRTK-Quest

MRTK-Quest: Mixed Reality Toolkit (MRTK) extension bridge for Oculus Quest + Rift / S
Other
389 stars 67 forks source link

MRTK-Quest

MRTK-Quest is a Mixed Reality Toolkit (MRTK) extension for Oculus Quest (1&2), now with support for Rift/Rift S as well. It was built to showcase the hand-driven interaction model designed by Microsoft for HoloLens 2, on the Oculus ecosystem.

As of MRTK 2.5, Oculus platforms are officially supported, leveraging the code that powers MRTK-Quest. Going forward, Microsoft will be maintaining Oculus support. This repo might get updates, but it'll be more of a hobby project than "official quest support".

Main features

Demo Video

Demo video

Tutorial Video

Check out @Dilmerv's awesome tutorial video.

Supported versions

Supported target devices

FAQ

Can I see an example project with everything setup out of the box?

Avatar hands don't work for me, what am I doing wrong?

How do I allow MRTK-Quest and HoloLens 2 to co-exist in a project?

The version of MRTK-Quest in this project should work with other platforms following these guidelines, but you're better off using the official Quest support MRTK 2.5 solution if that is your goal.

With Oculus Link enabled, Unity Crashes when I hit play in editor! What do I do?

Getting started with MRTK-Quest

1. Obtain MRTK-Quest

1a. Develop with the MRTK-Quest repository directly

Clone this repository, and then make sure to initialize submodules. To do this, open a command line terminal, rooted on the folder you'd like the project to be in. (Hold shift + right click -> Select "Open Powershell Window Here")

Then clone using this command "git clone --recurse-submodules https://github.com/provencher/MRTK-Quest.git"

This will clone the official MRTK development branch as well. 
If you'd like your own version of MRTK, simply remove "--recurse-submodules" from the command, 
and copy your MRTK files to the External folder, before proceeding to step 2.

1b. Develop an existing MRTK application

Simply download the MRTK-Quest .unitypackage from the latest Release page.. Examples are split out into a separate package, so that users without MRTK Examples can work with a minimal MRTK-Quest development environment. As of 1.0, some audio is stored in a separate package as well.

If MRTK is already in your project, move to step 3.

2. Import MRTK

2a. Obtain MRTK from cloning the submodule included with this REPO

MRTK will be located in your External folder.

If you wish to develop MRTK, and modify code within in it, independently from your project, this is the preferred approach.

Since MRTK is located in **External**, it will be necessary to make them appear as if they are in **Assets**.
To accomplish this, you will need to create a SymLink.

- On Windows run the bat External/createSymlink.bat by double clicking it. 
- On OS X execute the shell script via "./createSymlink.sh".
This will link the MRTK folders cloned via the submodule into the project.

2b. Obtain MRTK via alternative means

It is possible to import MRTK directly into the Assets folder by downloading the latest oficial release, or via the package manager. Follow MRTK guidelines for this.

4. Project Configuration Window

MRTK has a Project Configuration modal window that pops up when you first open a project.

5. MRTK-Quest Integration Configuration

New Config scriptable object exposing hand mesh material and performance seetings. This is a project singleton located in Resources/MRTK-OculusConfig
image

6. Teleport Configuration

Teleport support now comes in a few flavors. To make use of either supported mode, you must enable the teleport system in your profile.

7. Community and support

If you'd like to discuss your issues or ideas to improve this project, please join us over on the HoloDevs Slack. There is a public channel called #MRTK-Quest.

Author

Eric Provencher @prvncher

Modified from: Furuta, Yusuke (@tarukosu)

License

MIT + (Oculus integration license)