MixedRealityToolkit / MixedRealityToolkit-Unity

This repository holds the third generation of the Mixed Reality Toolkit for Unity. The latest version of the MRTK can be found here.
BSD 3-Clause "New" or "Revised" License
411 stars 111 forks source link

MRTK3 input package misses dependency on glTFast #209

Open IssueSyncBot opened 1 year ago

IssueSyncBot commented 1 year ago

Original issue opened by:

@NorbertNemec @NorbertNemec


Describe the bug

The package com.microsoft.mrtk.input contains .glb files that require the glTFast package to be imported in Unity. The MRTKDevTemplate depends on "com.atteneder.gltfast": "https://github.com/atteneder/glTFast.git#v4.8.3"

Any external project that depends on com.microsoft.mrtk.input shows errors on attempting to import the Left/RightControllerModel.prefab files.

To reproduce

Steps to reproduce the behavior:

  1. Create empty project
  2. Import com.microsoft.mrtk.input
  3. See error messages
  4. add git dependency on https://github.com/atteneder/glTFast.git#v4.8.3
  5. See error disappear

Expected behavior

com.microsoft.mrtk.input should bring all its required dependencies (not sure whether a git-dependency is possible and acceptable at that point?)

Screenshots

image

Your setup (please complete the following information)


ISSUE MIGRATION

Issue migrated from: https://github.com/microsoft/MixedRealityToolkit-Unity/issues/11294

IssueSyncBot commented 1 year ago

Original comment by:

@keveleigh keveleigh


Ah yeah, we've been a little torn on how to approach this. I don't believe we have an explicit dependency on glTFast specifically, just a dependency on some glTF importer. I've been hesitant to enforce consumers of MRTK3 to import glTFast, as we had several issues filed about the MRTK2 importer and it conflicting with various other importers of choice (like TriLib's in https://github.com/microsoft/MixedRealityToolkit-Unity/issues/9653).

(not sure whether a git-dependency is possible and acceptable at that point?)

Unfortunately, this is another sticking point. Since glTFast is not distributed in either Unity's feed or the public MRTK feed, MRFT isn't able to resolve the dependency and it'll be a manual step for every developer who imports the input package. I've had some ideas around upgrading MRFT to support git dependencies, but I haven't had time to look into it yet.

IssueSyncBot commented 1 year ago

Original comment by:

@NorbertNemec NorbertNemec


Perhaps it is easiest to sidestep the issue by converting the two .glb files to something that Unity can handle directly?

Maesla commented 10 months ago

In addition to this, https://github.com/atteneder/glTFast has changed its package name from com.attender.glfast to com.unity.cloud.gltfast since v5.0.4, so probably the input package should take this change into account (https://github.com/atteneder/glTFast/blob/1e85cf730c714fbe9badc1e370753f4fa4dcfe52/package.json#L2C12-L2C35),

image