HL2-DINO / DINO-Unity

A Unity project for the HoloLens 2 to detect and track infrared markers / tools
https://hl2-dino.github.io/DINO-Unity/
BSD 3-Clause "New" or "Revised" License
11 stars 2 forks source link

Deployed to HoloLens2 without starting tracking #2

Open Nacy09 opened 1 month ago

Nacy09 commented 1 month ago

Hello! We tried running the project and it was successfully deployed to HoloLens2, but nothing was displayed at runtime.We used unity 2021branch,vs2022,unity2021.3.2f1. HoloLens2 has opened research mode. We are using a custom arrangement of marker balls. Here are the logs of program execution: Logging to U:/Users/ltfly/AppData/Local/Packages/DINO-Unity21_pzq3xp76mxafg/TempState/UnityPlayer.log Loading native plugins Loading openxr_loader.dll Module information: Built with Compiler Ver '192829333' Built from '2021.3/staging' branch Version is '2021.3.2f1 (d6360bedb9a0)' Release build Application type 'D3D' OS 'Windows 11 (10.0.22621) 64bit' Found 2 interfaces on host : 0) 192.168.179.19 1) 127.0.0.1 Multi-casting "[IP] 192.168.179.19 [Port] 55125 [Flags] 2 [Guid] 1953181078 [EditorId] 0 [Version] 1048832 [Id] UWPPlayerARM(20,HOLOLENS-8DOLOC) [Debug] 0 [PackageName] DINO-Unity21_pzq3xp76mxafg [ProjectName] " to [225.0.0.222:54997]... [Subsystems] Discovering subsystems at path U:/Users/DefaultAccount/AppData/Local/DevelopmentFiles/DINO-Unity21VS.Release_ARM64.hmy/Data/UnitySubsystems [Subsystems] No descriptors matched for examples in UnitySubsystems/MicrosoftOpenXRPlugin/UnitySubsystemsManifest.json. [Subsystems] 1 'inputs' descriptors matched in UnitySubsystems/MicrosoftOpenXRPlugin/UnitySubsystemsManifest.json [Subsystems] No descriptors matched for displays in UnitySubsystems/MicrosoftOpenXRPlugin/UnitySubsystemsManifest.json. [Subsystems] 1 'meshings' descriptors matched in UnitySubsystems/MicrosoftOpenXRPlugin/UnitySubsystemsManifest.json [Subsystems] No descriptors matched for examples in UnitySubsystems/UnityOpenXR/UnitySubsystemsManifest.json. [Subsystems] 1 'inputs' descriptors matched in UnitySubsystems/UnityOpenXR/UnitySubsystemsManifest.json [Subsystems] 1 'displays' descriptors matched in UnitySubsystems/UnityOpenXR/UnitySubsystemsManifest.json [Subsystems] No descriptors matched for meshings in UnitySubsystems/UnityOpenXR/UnitySubsystemsManifest.json. GfxDevice: creating device client; threaded=1; jobified=0 [XR] [6260] [15:50:30.397][Info ] Available Layers: (0) Direct3D: Version: Direct3D 11.0 [level 11.1] Renderer: Qualcomm(R) Adreno(TM) 630 GPU (ID=0x45373230) Vendor: Qualcomm VRAM: 1932 MB Initialize engine version: 2021.3.2f1 (d6360bedb9a0) XRGeneral Settings awakening... UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[]) UnityEngine.Logger:Log(LogType, Object) UnityEngine.Debug:Log(Object) UnityEngine.XR.Management.XRGeneralSettings:Awake()

[Subsystems] Loading plugin UnityOpenXR for subsystem OpenXR Display... [XR] Error loading subsystem: Display (1) (header mismatch?) [Subsystems] Failed to initialize subsystem OpenXR Display [error: 1] [XR] [6260] [15:50:34.025][Error ] xrPollEvent: XR_ERROR_FUNCTION_UNSUPPORTED [XR] [6260] [15:50:34.028][Info ]

==== Start Unity OpenXR Diagnostic Report ====

[XR] [6260] [15:50:34.029][Info ] ==== Report Reason: System Shutdown ====

[XR] [6260] [15:50:34.029][Info ] ==== OpenXR Init Info ==== [XR] [6260] [15:50:34.029][Info ] [XR] [6260] [15:50:34.029][Info ] Stage 1 Missing Entry Points: (1) [XR] [6260] [15:50:34.029][Info ] xrInitializeLoaderKHR [XR] [6260] [15:50:34.029][Info ] [XR] [6260] [15:50:34.029][Info ] ==== OpenXR Provider Info ==== [XR] [6260] [15:50:34.029][Info ] [XR] [6260] [15:50:34.029][Info ] Spec Version: 1.0.29 [XR] [6260] [15:50:34.029][Info ] Provider Version: 1.10.0 [XR] [6260] [15:50:34.029][Info ] App: DINO-Unity21 #3159629941 [XR] [6260] [15:50:34.029][Info ] Engine: 2021.3.2f1 #36709377 [XR] [6260] [15:50:34.029][Info ] [XR] [6260] [15:50:34.029][Info ] ==== OpenXR Runtime Info ==== [XR] [6260] [15:50:34.029][Info ] [XR] [6260] [15:50:34.029][Info ] Features requested to be enabled: (4) [XR] [6260] [15:50:34.030][Info ] Eye Gaze Interaction Profile: Version=0.0.1, Company="Unity", Extensions="XR_EXT_eye_gaze_interaction" [XR] [6260] [15:50:34.030][Info ] Microsoft Hand Interaction Profile: Version=0.0.1, Company="Unity", Extensions="XR_MSFT_hand_interaction" [XR] [6260] [15:50:34.030][Info ] Microsoft Motion Controller Profile: Version=0.0.1, Company="Unity" [XR] [6260] [15:50:34.030][Info ] Mixed Reality Features: Version=1.4.3, Company="Microsoft", Extensions="XR_MSFT_holographic_window_attachment XR_KHR_win32_convert_performance_counter_time XR_MSFT_unbounded_reference_space XR_MSFT_spatial_anchor XR_MSFT_secondary_view_configuration XR_MSFT_first_person_observer XR_MSFT_spatial_graph_bridge XR_MSFT_perception_anchor_interop XR_MSFT_spatial_anchor_persistence XR_MSFT_scene_understanding XR_MSFT_scene_understanding_serialization XR_MSFT_spatial_anchor_export_preview XR_MSFT_composition_layer_reprojection" [XR] [6260] [15:50:34.030][Info ] [XR] [6260] [15:50:34.030][Info ] Requested feature extensions not supported by runtime: (1) [XR] [6260] [15:50:34.030][Info ] XR_MSFT_spatial_anchor_export_preview: Feature="Mixed Reality Features": Version=1.4.3, Company="Microsoft" [XR] [6260] [15:50:34.030][Info ] [XR] [6260] [15:50:34.030][Info ] ==== Last 20 non-XR_SUCCESS returns ==== [XR] [6260] [15:50:34.030][Info ] [FAILURE] xrPollEvent: XR_ERROR_FUNCTION_UNSUPPORTED (1x) [XR] [6260] [15:50:34.030][Info ] [XR] [6260] [15:50:34.030][Info ] ==== Last 20 Events ==== [XR] [6260] [15:50:34.030][Info ]

==== End Unity OpenXR Diagnostic Report ====

New input system (experimental) initialized The referenced script (Unknown) on this Behaviour is missing! The referenced script on this Behaviour (Game Object '') is missing! A scripted object (probably Microsoft.MixedReality.Toolkit.XRSDK.Oculus.Input.OculusXRSDKDeviceManagerProfile?) has a different serialization layout when loading. (Read 72 bytes but expected 108 bytes) Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts? UnloadTime: 8.469531 ms 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.Input.MixedRealityInputSystem:CreateDataProviders() Microsoft.MixedReality.Toolkit.Input.MixedRealityInputSystem:Initialize() Microsoft.MixedReality.Toolkit.<>c:b__68_0(IMixedRealityService) Microsoft.MixedReality.Toolkit.MixedRealityToolkit:ExecuteOnAllServicesInOrder(Action`1) Microsoft.MixedReality.Toolkit.MixedRealityToolkit:InitializeAllServices() 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.Input.MixedRealityInputSystem:CreateDataProviders() Microsoft.MixedReality.Toolkit.Input.MixedRealityInputSystem:Initialize() Microsoft.MixedReality.Toolkit.<>c:b__68_0(IMixedRealityService) Microsoft.MixedReality.Toolkit.MixedRealityToolkit:ExecuteOnAllServicesInOrder(Action`1) Microsoft.MixedReality.Toolkit.MixedRealityToolkit:InitializeAllServices() Microsoft.MixedReality.Toolkit.MixedRealityToolkit:InitializeServiceLocator() Microsoft.MixedReality.Toolkit.MixedRealityToolkit:RegisterInstance(MixedRealityToolkit, Boolean) Microsoft.MixedReality.Toolkit.MixedRealityToolkit:Awake()

[AsyncCoroutineRunner] There is no AsyncCoroutineRunner in the scene. Adding a GameObject with AsyncCoroutineRunner attached at the root of the scene. UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[]) UnityEngine.Logger:Log(LogType, Object) UnityEngine.Debug:Log(Object) Microsoft.MixedReality.Toolkit.Utilities.AsyncCoroutineRunner:get_Instance() Microsoft.MixedReality.Toolkit.Utilities.<>c__DisplayClass13_0:b0() Microsoft.MixedReality.Toolkit.Utilities.AwaiterExtensions:RunOnUnityScheduler(Action) Microsoft.MixedReality.Toolkit.Utilities.AwaiterExtensions:GetAwaiterReturnVoid(Object) Microsoft.MixedReality.Toolkit.XRSDK.OpenXR.d16:MoveNext() System.Runtime.CompilerServices.AsyncVoidMethodBuilder:Start(TStateMachine&) Microsoft.MixedReality.Toolkit.XRSDK.OpenXR.OpenXRDeviceManager:Enable() Microsoft.MixedReality.Toolkit.BaseDataProviderAccessCoreSystem:Enable() Microsoft.MixedReality.Toolkit.Input.MixedRealityInputSystem:Enable() Microsoft.MixedReality.Toolkit.<>c:b__70_0(IMixedRealityService) Microsoft.MixedReality.Toolkit.MixedRealityToolkit:ExecuteOnAllServicesInOrder(Action`1) Microsoft.MixedReality.Toolkit.MixedRealityToolkit:EnableAllServices() Microsoft.MixedReality.Toolkit.MixedRealityToolkit:OnEnable()

Near interactions are not enabled for RMContainer. To enable near interactions, add a NearInteractionGrabbable component to RMContainer or to a child object of RMContainer that contains a collider. UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[]) UnityEngine.Logger:Log(LogType, Object) UnityEngine.Debug:Log(Object) Microsoft.MixedReality.Toolkit.UI.ObjectManipulator:Start()

Trimming D3D resources.

Thank you very much for your or anyones help!

hiqb217 commented 2 weeks ago

Hi, I took some time to try and deploy to a new environment (another HoloLens 2 I've never tested on, and also building on a laptop I didn't use before).

I also used Unity 2021.3.2f1, and Visual Studio 2022 and from my logs, I have the following system info:

Module information:
 Built with Compiler Ver '192829333'
 Built from '2021.3/staging' branch
 Version is '2021.3.2f1 (d6360bedb9a0)'
 Release build
 Application type 'D3D'
 OS 'Windows 11 (10.0.22621) 64bit'

I've managed to deploy the unity-21 branch to my HoloLens 2, and it looks like it's giving me the expected results and the app is working. Thank you for posting your Unity player log, I compared with mine, and the biggest difference seems to be something related to OpenXR.

Your log:

[Subsystems] Loading plugin UnityOpenXR for subsystem OpenXR Display...
[XR] Error loading subsystem: Display (1) (header mismatch?)
[Subsystems] Failed to initialize subsystem OpenXR Display [error: 1]
[XR] [6260] [15:50:34.025][Error ] xrPollEvent: XR_ERROR_FUNCTION_UNSUPPORTED
[XR] [6260] [15:50:34.028][Info ]

My log:

[Subsystems] Loading plugin UnityOpenXR for subsystem OpenXR Display...
[Subsystems] OpenXR XR Plugin successfully registered Provider for OpenXR Display
[Subsystems] OpenXR XR Plugin successfully registered Provider for OpenXR Input
[Subsystems] OpenXR XR Plugin successfully registered Provider for OpenXR Display
[XR] [6320] [12:02:55.771][Info   ] Available Layers: (0)
[Subsystems] Loading plugin UnityOpenXR for subsystem OpenXR Input...
[Subsystems] Loading plugin MicrosoftOpenXRPlugin for subsystem OpenXR Input Extension...
[Subsystems] OpenXR Extension successfully registered Provider for OpenXR Input Extension
[Subsystems] OpenXR XR Plugin successfully registered Provider for OpenXR Input
[Subsystems] OpenXR XR Plugin successfully registered Provider for OpenXR Display

I don't know too much about debugging OpenXR issues. However I do recall having some errors with building and deploying because of the build setup.

Could you check the following for your build setup:

When you open the .sln file, right click on DINO-Unity21 (Universal Windows) -> Properties, and check the following:

I'm not 100% that this is the fix, but may be worthwhile checking that our build setups are similar at least. I'm also assuming you've set up the Package.appxmanifest file as instructed in the wiki/docs

If nothing else works, then one potential alternative would be to try using the unity-19 branch, which doesn't have a requirement for Open-XR?