Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MRTK + Microsoft OpenXR without using Mixed Reality Feature Tool #10870

Closed
mikeskydev opened this issue Aug 15, 2022 · 7 comments
Closed

MRTK + Microsoft OpenXR without using Mixed Reality Feature Tool #10870

mikeskydev opened this issue Aug 15, 2022 · 7 comments
Labels
External This is an issue with, or behavior of a component / tool external to MRTK Feature Request Feature request from the community MRFT Won't Fix A real bug, but Triage feels that the issue is not impactful enough to spend time on

Comments

@mikeskydev
Copy link

Describe the problem

I am not a fan of the requirement to download the feature tool from the Microsoft website just to add the packages. I am also not a fan of these packages being local .tgz instead of being hosted elsewhere, as it introduces binary blob changes in version control. These are third party packages I should not have to track any changes on aside from the version number used. The reliance on a Windows executable for installation also limits the cross-platform ability to install packages, for example in a Linux CI situation.

Describe the solution you'd like

A way to obtain both the Windows OpenXR package, and the MRTK packages, without requiring the Mixed Reality feature tool. My preference would be to have them accessible via a scoped registry we can add to our Unity Package Manger, either via OpenUPM or one hosted by Microsoft directly, using something like Verdaccio.

Describe alternatives you've considered

Just have someone add from the Feature Tool on behalf of the project

  • Still introduces binary blobs to project, which is not ideal
  • Still has reliance on developing on Windows OS

Including in UPM via Git URLs

  • No versioning
  • Cannot lock to specific state
  • May introduce breaking changes to CI that will be hard to track
  • Bad for collaboration

Creating a mirror of the packages and manage versioning ourselves

  • Time consuming to track changes
  • Legality
  • What if users start to depend on our mirror instead of the Feature Tool? We incur support burden if there's bugs in MRTK that we're not responsible for.

Reverse engineering the Feature Tool to locate package sources, and install them directly

  • Not sure I want to step on this landmine!
  • If the system behind Feature Tool is some sort of versioned registry, then documentation on how to access directly may be an alternate solution.

Additional context

This is coming from the context of Open Brush, which is an open source Unity project with a Linux based GitHub actions CI. Please don't introduce barriers for developers wanting to access the project on macOS or Linux.

@mikeskydev mikeskydev added the Feature Request Feature request from the community label Aug 15, 2022
@keveleigh keveleigh added the External This is an issue with, or behavior of a component / tool external to MRTK label Aug 15, 2022
@keveleigh
Copy link
Contributor

This is something we're actively working through! Unity asked us directly not to use scoped registries for distribution of MRTK a couple of years ago (due to some changes they made to their Package Guidelines), which is the reason the Mixed Reality Feature Tool exists. We're looking to have another conversation with them about this soon now that some time has passed and services like OpenUPM have continued to be able to run.

@Zee2
Copy link
Contributor

Zee2 commented Aug 15, 2022

@merulaxr we're definitely all in the same boat. We're aware Feature Tool is not a great a solution in terms of openness, CI compatibility, or even just simply developer experience. As @keveleigh mentioned above, it's a workaround to avoid problems with the Unity ToS, as using scoped registries for distribution is technically in violation of their ToS.

We're actively working on resolving this problem, and we really appreciate your patience :)

@mikeskydev
Copy link
Author

Thank you both for a prompt response, I'm really surprised to hear about the scoped registry issues, as I thought that was the entire point of that feature! I hope the best for future conversations with Unity, especially given OpenUPM as you said, and other major providers in the space like HTC and Ultraleap using scoped registries for their SDK distribution.

@Zee2
Copy link
Contributor

Zee2 commented Aug 15, 2022

@merulaxr , if the conversation with Unity isn't forthcoming, we are intending on shipping MRFT as a CI-friendly package management tool, so you'd simply just run mrft restore on your CI job to pull tarballs according to the manifest. (as well as other normal package management features like mrft update). Ideally the mrft utility would be able to be pulled from a curl or something (in addition to the normal channels like winget) so that we'd be completely CI friendly.

@mikeskydev
Copy link
Author

If the system behind Feature Tool is some sort of versioned registry, then documentation on how to access directly may be an alternate solution.

I noticed the registry that's used for https://github.com/microsoft/spatialaudio-unity has the other packages on it, and works perfectly. The non-installed packages don't appear in the package manager, but I was able to deduce what I needed :). I really hope Unity can be on board so you can use that source (or another!) officially.

@mikeskydev
Copy link
Author

I'm happily using the above registry, but has there been any update from conversations with Unity?

@IssueSyncBot
Copy link
Collaborator

We appreciate your feedback and thank you for reporting this issue.

Microsoft Mixed Reality Toolkit version 2 (MRTK2) is currently in limited support. This means that Microsoft is only fixing high priority security issues. Unfortunately, this issue does not meet the necessary priority and will be closed. If you strongly feel that this issue deserves more attention, please open a new issue and explain why it is important.

Microsoft recommends that all new HoloLens 2 Unity applications use MRTK3 instead of MRTK2.

Please note that MRTK3 was released in August 2023. It features an all-new architecture for developing rich mixed reality experiences and has a minimum requirement of Unity 2021.3 LTS. For more information about MRTK3, please visit https://www.mixedrealitytoolkit.org.

Thank you for your continued support of the Mixed Reality Toolkit!

@IssueSyncBot IssueSyncBot closed this as not planned Won't fix, can't repro, duplicate, stale Jan 13, 2024
@IssueSyncBot IssueSyncBot added the Won't Fix A real bug, but Triage feels that the issue is not impactful enough to spend time on label Jan 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
External This is an issue with, or behavior of a component / tool external to MRTK Feature Request Feature request from the community MRFT Won't Fix A real bug, but Triage feels that the issue is not impactful enough to spend time on
Projects
None yet
Development

No branches or pull requests

7 participants