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
6k stars 2.12k forks source link

Unable to register data provider - only in Build #10404

Closed Ahim13 closed 9 months ago

Ahim13 commented 2 years ago

Describe the bug

The following logs in the Hololens 2 player log: (These errors are not present in the editor, only in build - mostly everything works except the tracking of the handmesh which is not woroking at all)

Unable to register IMixedRealityInputDeviceManager data provider (Windows Mixed Reality Device Manager) because the value of concreteType is null. This may be caused by code being stripped during linking. The link.xml file in the MixedRealityToolkit.Generated folder is used to control code preservation. More information can be found at https://docs.unity3d.com/Manual/ManagedCodeStripping.html. UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[]) UnityEngine.Logger:Log(LogType, Object) UnityEngine.Debug:LogWarning(Object) Microsoft.MixedReality.Toolkit.BaseDataProviderAccessCoreSystem:RegisterDataProviderInternal(Boolean, Type, String, SupportedPlatforms, Object[]) Microsoft.MixedReality.Toolkit.BaseDataProviderAccessCoreSystem:RegisterDataProvider(Type, String, SupportedPlatforms, Object[]) Microsoft.MixedReality.Toolkit.Input.MixedRealityInputSystem:CreateDataProviders() Microsoft.MixedReality.Toolkit.Input.MixedRealityInputSystem:Initialize() Microsoft.MixedReality.Toolkit.<>c:b__68_0(IMixedRealityService) Microsoft.MixedReality.Toolkit.Input.HandJointDataGenerator:Invoke(MixedRealityPose[]) Microsoft.MixedReality.Toolkit.MixedRealityToolkit:ExecuteOnAllServicesInOrder(Action`1) Microsoft.MixedReality.Toolkit.MixedRealityToolkit:InitializeServiceLocator() Microsoft.MixedReality.Toolkit.MixedRealityToolkit:RegisterInstance(MixedRealityToolkit, Boolean) Microsoft.MixedReality.Toolkit.MixedRealityToolkit:Awake()

Unable to register IMixedRealityInputDeviceManager data provider (Windows Mixed Reality Eye Gaze Provider) because the value of concreteType is null. This may be caused by code being stripped during linking. The link.xml file in the MixedRealityToolkit.Generated folder is used to control code preservation. More information can be found at https://docs.unity3d.com/Manual/ManagedCodeStripping.html. UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[]) UnityEngine.Logger:Log(LogType, Object) UnityEngine.Debug:LogWarning(Object) Microsoft.MixedReality.Toolkit.BaseDataProviderAccessCoreSystem:RegisterDataProviderInternal(Boolean, Type, String, SupportedPlatforms, Object[]) Microsoft.MixedReality.Toolkit.BaseDataProviderAccessCoreSystem:RegisterDataProvider(Type, String, SupportedPlatforms, Object[]) Microsoft.MixedReality.Toolkit.Input.MixedRealityInputSystem:CreateDataProviders() Microsoft.MixedReality.Toolkit.Input.MixedRealityInputSystem:Initialize() Microsoft.MixedReality.Toolkit.<>c:b__68_0(IMixedRealityService) Microsoft.MixedReality.Toolkit.Input.HandJointDataGenerator:Invoke(MixedRealityPose[]) Microsoft.MixedReality.Toolkit.MixedRealityToolkit:ExecuteOnAllServicesInOrder(Action`1) Microsoft.MixedReality.Toolkit.MixedRealityToolkit:InitializeServiceLocator() Microsoft.MixedReality.Toolkit.MixedRealityToolkit:RegisterInstance(MixedRealityToolkit, Boolean) Microsoft.MixedReality.Toolkit.MixedRealityToolkit:Awake()

Tracking origin unable to be set. UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[]) UnityEngine.Logger:Log(LogType, Object) UnityEngine.Debug:LogWarning(Object) Microsoft.MixedReality.Toolkit.XRSDK.XRSDKBoundarySystem:SetTrackingSpace() Microsoft.MixedReality.Toolkit.Boundary.BaseBoundarySystem:Initialize() Microsoft.MixedReality.Toolkit.<>c:b__68_0(IMixedRealityService) Microsoft.MixedReality.Toolkit.Input.HandJointDataGenerator:Invoke(MixedRealityPose[]) Microsoft.MixedReality.Toolkit.MixedRealityToolkit:ExecuteOnAllServicesInOrder(Action`1) Microsoft.MixedReality.Toolkit.MixedRealityToolkit:InitializeServiceLocator() Microsoft.MixedReality.Toolkit.MixedRealityToolkit:RegisterInstance(MixedRealityToolkit, Boolean) Microsoft.MixedReality.Toolkit.MixedRealityToolkit:Awake()

Unable to register IMixedRealitySpatialAwarenessObserver data provider (Windows Mixed Reality Spatial Mesh Observer) because the value of concreteType is null. This may be caused by code being stripped during linking. The link.xml file in the MixedRealityToolkit.Generated folder is used to control code preservation. More information can be found at https://docs.unity3d.com/Manual/ManagedCodeStripping.html. UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[]) UnityEngine.Logger:Log(LogType, Object) UnityEngine.Debug:LogWarning(Object) Microsoft.MixedReality.Toolkit.BaseDataProviderAccessCoreSystem:RegisterDataProviderInternal(Boolean, Type, String, SupportedPlatforms, Object[]) Microsoft.MixedReality.Toolkit.BaseDataProviderAccessCoreSystem:RegisterDataProvider(Type, String, SupportedPlatforms, Object[]) Microsoft.MixedReality.Toolkit.SpatialAwareness.MixedRealitySpatialAwarenessSystem:InitializeInternal() Microsoft.MixedReality.Toolkit.SpatialAwareness.MixedRealitySpatialAwarenessSystem:Initialize() Microsoft.MixedReality.Toolkit.<>c:b__68_0(IMixedRealityService) Microsoft.MixedReality.Toolkit.Input.HandJointDataGenerator:Invoke(MixedRealityPose[]) Microsoft.MixedReality.Toolkit.MixedRealityToolkit:ExecuteOnAllServicesInOrder(Action`1) Microsoft.MixedReality.Toolkit.MixedRealityToolkit:InitializeServiceLocator() Microsoft.MixedReality.Toolkit.MixedRealityToolkit:RegisterInstance(MixedRealityToolkit, Boolean) Microsoft.MixedReality.Toolkit.MixedRealityToolkit:Awake()

Your setup (please complete the following information)

Target platform (please complete the following information)

Additional context

The build itself seems to work properly except the handmesh tracking which does not work (the hand mesh just floats in one space), but I found no information about whether these messages in the log could cause an issue or I should just ignore them. Or maybe is there some way to stop them logging if they don't do anything?

keveleigh commented 2 years ago

Running on Unity 2020, these logs are expected. They should be benign, and we can work on being less verbose in this case. As far as the hand mesh not working, that's more concerning! Are you using a default MRTK profile (and if so, which one?) or a custom one?

Ahim13 commented 2 years ago

I see thanks for the info. No, I'm using a custom one (although not many things were changed). It was working with Unity 2019.4 LTS and then the project was updated to 2020 LTS and if I remember correctly, it stopped working. It appears, then floats in one place - initially it is not enabled when the app launches (because I set that) then I enable it via a voice command.

IssueSyncBot commented 9 months ago

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!