microsoft / MixedReality-WorldLockingTools-Unity

Unity tools to provide a stable coordinate system anchored to the physical world.
https://microsoft.github.io/MixedReality-WorldLockingTools-Unity/README.html
MIT License
188 stars 45 forks source link

Package version compatibility? #97

Closed zantiu closed 3 years ago

zantiu commented 3 years ago

I somehow can't get the packages aligned to make the latest version work on Android and Hololens.

Unity 2019.4.15f1c1

First of all following packages match:

However this doesn't match with WLT because AnchorManagerXR.cs requires ARSubsystems >= 3.0.1 because the renaming of ReferencePoints to Anchors: https://docs.unity3d.com/Packages/com.unity.xr.arfoundation@3.0/changelog/CHANGELOG.html

So trying with following combination of packages:

But that leads to following errors:

Library\PackageCache\com.unity.xr.windowsmr@2.4.1\Runtime\Session\WindowsMRSessionSubsystem.cs(15,28): error CS0246: The type or namespace name 'IProvider' could not be found (are you missing a using directive or an assembly reference?)
Library\PackageCache\com.unity.xr.windowsmr@2.4.1\Runtime\Session\WindowsMRSessionSubsystem.cs(15,38): error CS0508: 'WindowsMRSessionSubsystem.CreateProvider()': return type must be 'XRSessionSubsystem.Provider' to match overridden member 'XRSessionSubsystem.CreateProvider()'
Library\PackageCache\com.unity.xr.windowsmr@2.4.1\Runtime\Session\WindowsMRSessionSubsystem.cs(20,15): warning CS0108: 'WindowsMRSessionSubsystem.Provider' hides inherited member 'XRSessionSubsystem.Provider'. Use the new keyword if hiding was intended.
Library\PackageCache\com.unity.xr.windowsmr@2.4.1\Runtime\ReferencePoint\WindowsMRReferencePointSubsystem.cs(118,28): error CS0246: The type or namespace name 'IProvider' could not be found (are you missing a using directive or an assembly reference?)
Library\PackageCache\com.unity.xr.windowsmr@2.4.1\Runtime\Session\WindowsMRSessionSubsystem.cs(20,26): error CS0246: The type or namespace name 'IProvider' could not be found (are you missing a using directive or an assembly reference?)
Library\PackageCache\com.unity.xr.windowsmr@2.4.1\Runtime\ReferencePoint\WindowsMRReferencePointSubsystem.cs(118,38): error CS0508: 'WindowsMRReferencePointSubsystem.CreateProvider()': return type must be 'XRAnchorSubsystem.Provider' to match overridden member 'XRAnchorSubsystem.CreateProvider()'
Library\PackageCache\com.unity.xr.windowsmr@2.4.1\Runtime\ReferencePoint\WindowsMRReferencePointSubsystem.cs(123,15): warning CS0108: 'WindowsMRReferencePointSubsystem.Provider' hides inherited member 'XRAnchorSubsystem.Provider'. Use the new keyword if hiding was intended.
Library\PackageCache\com.unity.xr.windowsmr@2.4.1\Runtime\Session\WindowsMRSessionSubsystem.cs(27,58): error CS0115: 'WindowsMRSessionSubsystem.Provider.GetAvailabilityAsync()': no suitable method found to override
Library\PackageCache\com.unity.xr.windowsmr@2.4.1\Runtime\Session\WindowsMRSessionSubsystem.cs(34,43): error CS0115: 'WindowsMRSessionSubsystem.Provider.trackingState': no suitable method found to override
Library\PackageCache\com.unity.xr.windowsmr@2.4.1\Runtime\Session\WindowsMRSessionSubsystem.cs(42,47): error CS0115: 'WindowsMRSessionSubsystem.Provider.notTrackingReason': no suitable method found to override
Library\PackageCache\com.unity.xr.windowsmr@2.4.1\Runtime\Session\WindowsMRSessionSubsystem.cs(50,34): error CS0115: 'WindowsMRSessionSubsystem.Provider.Destroy()': no suitable method found to override
Library\PackageCache\com.unity.xr.windowsmr@2.4.1\Runtime\Session\WindowsMRSessionSubsystem.cs(54,34): error CS0115: 'WindowsMRSessionSubsystem.Provider.Pause()': no suitable method found to override
Library\PackageCache\com.unity.xr.windowsmr@2.4.1\Runtime\Session\WindowsMRSessionSubsystem.cs(59,34): error CS0115: 'WindowsMRSessionSubsystem.Provider.Resume()': no suitable method found to override
Library\PackageCache\com.unity.xr.windowsmr@2.4.1\Runtime\Session\WindowsMRSessionSubsystem.cs(64,34): error CS0115: 'WindowsMRSessionSubsystem.Provider.Reset()': no suitable method found to override
Library\PackageCache\com.unity.xr.windowsmr@2.4.1\Runtime\ReferencePoint\WindowsMRReferencePointSubsystem.cs(123,26): error CS0246: The type or namespace name 'IProvider' could not be found (are you missing a using directive or an assembly reference?)
Library\PackageCache\com.unity.xr.windowsmr@2.4.1\Runtime\ReferencePoint\WindowsMRReferencePointSubsystem.cs(125,34): error CS0115: 'WindowsMRReferencePointSubsystem.Provider.Start()': no suitable method found to override
Library\PackageCache\com.unity.xr.windowsmr@2.4.1\Runtime\ReferencePoint\WindowsMRReferencePointSubsystem.cs(130,34): error CS0115: 'WindowsMRReferencePointSubsystem.Provider.Stop()': no suitable method found to override
Library\PackageCache\com.unity.xr.windowsmr@2.4.1\Runtime\ReferencePoint\WindowsMRReferencePointSubsystem.cs(135,34): error CS0115: 'WindowsMRReferencePointSubsystem.Provider.Destroy()': no suitable method found to override
Library\PackageCache\com.unity.xr.windowsmr@2.4.1\Runtime\ReferencePoint\WindowsMRReferencePointSubsystem.cs(140,63): error CS0115: 'WindowsMRReferencePointSubsystem.Provider.GetChanges(XRAnchor, Allocator)': no suitable method found to override
Library\PackageCache\com.unity.xr.windowsmr@2.4.1\Runtime\ReferencePoint\WindowsMRReferencePointSubsystem.cs(181,34): error CS0115: 'WindowsMRReferencePointSubsystem.Provider.TryAddReferencePoint(Pose, out XRAnchor)': no suitable method found to override
Library\PackageCache\com.unity.xr.windowsmr@2.4.1\Runtime\ReferencePoint\WindowsMRReferencePointSubsystem.cs(188,34): error CS0115: 'WindowsMRReferencePointSubsystem.Provider.TryRemoveReferencePoint(TrackableId)': no suitable method found to override

It looks Windows XR Plugin 2.4.1 doesn't match with ARSubsystems 3.1.3, but there's no higher version. Am I missing something? Which combination of packages did you use succesfully?

zantiu commented 3 years ago

As mentioned here: https://github.com/microsoft/MixedReality-WorldLockingTools-Unity/blob/master/DocGen/Documentation/HowTos/XRSDK.md It should be AR Subsystems 2.x.x

I was probably testing with a wrong version of WLT. Anyway it is working now.

fast-slow-still commented 3 years ago

That's a great point, I have found getting the right versions of the supporting plugins to be confusing. I will clarify that in the documentation. Thanks!

veeruby-developer commented 3 years ago

@zantiu , I saw your previous reply that ASA work with XR Plugin and AR Subsystems 2.x.x But, once I import the ASA SDK 2.7.0 in unity through manifest file the AR Subsystem updated to 3.1.3 version and i am not able to change the version, and i am getting the same error which you have mentioned in first comment Could you please guide me how to come out of this Errors☺

zantiu commented 3 years ago

Sorry where did you see that? I'm currently not testing with ASA.

veeruby-developer commented 3 years ago

@zantiu Very much thanks for the reply, My bad i thought you were working with Azure spatial anchors, Since i also got the errors☺