microsoft / MixedRealityToolkit-Unity

This repository is for the legacy Mixed Reality Toolkit (MRTK) v2. For the latest version of the MRTK please visit https://github.com/MixedRealityToolkit/MixedRealityToolkit-Unity
https://aka.ms/mrtkdocs
MIT License
6.01k stars 2.12k forks source link

Mixed Reality Toolkit Version Next #1754

Closed StephenHodgson closed 6 years ago

StephenHodgson commented 6 years ago

What is MixedRealityToolkit-vNext?

The V1 Mixed Reality Toolkit is a collection of scripts and components intended to accelerate development of applications targeting Microsoft HoloLens and Windows Mixed Reality headsets.

This new version of the MixedRealityToolkit aims to further extend the capabilities of the toolkit and also introduce new features, including the capability to support more VR/AR/XR platforms beyond Microsoft's own Mixed Reality setup.

The vNext branch is taking all the best lessons learned from the original Mixed Reality Toolkit and refactoring / restructuring it to both:

Learn more about the architecture behind Windows Mixed Reality - vNext here.

Learn more about the approach behind the Windows Mixed Reality - vNext SDK here.

Feature areas

The Mixed Reality Toolkit vNext will includes many APIs to accelerate the development of MR / XR / VR / AR projects for a range of supported devices, including (but not limited to)

FAQ

Will my old projects based on the previous version be compatible?

Short answer, No. Long Answer, yes, but with some significant work. We will be providing a detailed change log and an upgrade guide for those of you who want to try and update your projects.

When do we expect to see a first production ready version?

No concrete date has been set, but I think the ideal is sometime in May 2018 to coincide with Build.

Is it expected that vNext will be feature complete with the current branch?

Yes, the new version will have most or all of the same features as the current release. Our hope is to do an A/B test to ensure no features have been lost. That being said, it's likely that some feature areas may be rewritten from the ground up.

Should we continue to develop and test against the current branch and if so until what point?

New development should happen against the Development branch, and bug fixes should go against both Stabilization and Development.

Will the current branch continue to be supported / developed against or will it be abandoned?

We haven't yet decided when to stop support for the current version. But seeing as this is an open source project, I'm sure that generous contributors will continue to post PRs against the older version.

Once vNEXT has matured and replaced the current master branch, then the old version will move from master to a new branch named HoloToolkit-Old or something similar.

julenka commented 6 years ago

Love this idea! Would there be any extra work to support two handed manipulation in the vnext version of MixedRealityToolkit?

StephenHodgson commented 6 years ago

Of course. Anything in the current dev branch under the MixedRealityToolkit namespace is subject to review and adoption of vNEXT.

genereddick commented 6 years ago

Questions:

StephenHodgson commented 6 years ago

@genereddick, all very good questions.

We're still trying to formulate a plan for what our roadmap and timeline will look like. Remember, all of us have day jobs and we're doing this in our free time. So those who would like to help, please feel free to join in the discussions and make pull requests.

When do we expect to see a first production ready version?

No concrete date has been set, but I think the ideal is sometime in May 2018 to coincide with Build.

Is it expected that vNext will be feature complete with the current branch?

Yes, the new version will have most or all of the same features as the current release. Our hope is to do an A/B test to ensure no features have been lost. That being said, it's likely that some feature areas may be rewritten from the ground up.

Should we continue to develop and test against the current branch and if so until what point?

New development should happen against the Development branch, and bug fixes should go against both Stabilization and Development.

Will the current branch continue to be supported / developed against or will it be abandoned?

We haven't yet decided when to stop support for the current version. But seeing as this is an open source project, I'm sure that generous contributors will continue to post PRs against the older version.

Once vNEXT has matured and replaced the current master branch, then the old version will move from master to a new branch named HoloToolkit-Old or something similar.

tommensink commented 6 years ago

Stephen, great job and kudo's for you guys. My own wish list for vNext would be primarily on the non-functional area. Probably a lot of open doors for you, but just to stress that this is important for me and I think other users:

StephenHodgson commented 6 years ago

Yes on all counts!

I think you've hit on everything we've been concerned about as well. As we go forward, please be sure to voice your concerns if we're getting off track.

pnolen commented 6 years ago

So, to be clear, this will generally be using compiler directives to make the tookit usable on non UNITY_UWP platforms? We've found with adding directives to various places the current MRTK does work on the windows platform, for example, but I was never sure if those kinds of changes should be pushed to the v1 branch.

Supporting multiple platforms is definitely a big plus as additional mixed reality solutions come on the market, so I'm happy to see this.