Search Unity

Hololens 1 Windows XR Plugin Remoting not working.

Discussion in 'AR/VR (XR) Discussion' started by pranvokua9, Feb 13, 2020.

  1. pranvokua9

    pranvokua9

    Joined:
    Feb 5, 2018
    Posts:
    5
    • Unity 2019.3.0f5 Personal.
    • Hololens is up-to-date with system updates.
    • I have the holographic remoting app (1.0.8.0) open in the Hololens.
    • I have the Windows XR Plugin installed and up to date.
    • Windows MR Loader is set as the plugin provider.
    • Correct IP is entered.
    • Video is enabled.
    • Audio is enabled.
    • Max bitrate is set to 99999 kbps.
    When I try to connect, connection status is changed to Connecting and I recieve the debug message:
    Remoting connect returned: True
    UnityEngine.GUIUtility:processEvent(Int32, IntPtr)

    If I wait, connection status changes to Disconnected, and I recieve the debug message:
    Connection Failure Reason: None
    UnityEngine.GUIUtility:processEvent(Int32, IntPtr)

    Further attempts at connecting do not even change the connection status, although the
    Remoting connect returned: True debug message is still generated every time I press connect. Can anyone shed some light on this?
     
  2. joejo

    joejo

    Unity Technologies

    Joined:
    May 26, 2016
    Posts:
    958
    HoloLens 1 devices are not currently supported for remoting using XR Plugins. We are working with Microsoft to get updated binaries to support that but we have no ETA on that at this time.
     
  3. pranvokua9

    pranvokua9

    Joined:
    Feb 5, 2018
    Posts:
    5
    I appreciate the reply. Pretty disappointed how quickly Microsoft is dropping support for a device not even 4 years old, with a price tag in the thousands of dollars. So much of the documentation I'm seeing is labeled for Hololens 2 only. The old Holographic emulation works, but I have to completely switch back to the old deprecated workflow, which is kind of ridiculous.
     
  4. sajadmaster

    sajadmaster

    Joined:
    Apr 10, 2014
    Posts:
    1
    I have same issue and I'm also disappointed in Microsoft Hololens 1.
     
  5. ZenUnity

    ZenUnity

    Joined:
    Apr 21, 2013
    Posts:
    28
    Also requesting support for Hololens 1
     
    programmerNacho likes this.
  6. programmerNacho

    programmerNacho

    Joined:
    Jan 25, 2020
    Posts:
    1
    Hope they fix it soon.
     
  7. Sylvain_Renault

    Sylvain_Renault

    Joined:
    Jun 6, 2018
    Posts:
    2
    Is there a fix for this problem???
     
    Achondrite likes this.
  8. lukasz13

    lukasz13

    Joined:
    Jul 10, 2017
    Posts:
    7
    I'm interested as well.
     
  9. EdBlais

    EdBlais

    Unity Technologies

    Joined:
    Nov 18, 2013
    Posts:
    311
    We just updated the windows mixed reality packages to version 4.2.3 for 2019.3 and 1.0.21 for 2018.4 and they contain remoting updates for HoloLens 2. However, we've not seen any issues with HoloLens 1 remoting and QA has been confirming HoloLens 1 remoting continues to work as we make these updates. If you can provide a bug report that reproduces the issue using the latest versions of the packages on the latest version of either release, we'll gladly take a look. Just message this thread back with the bug report number and I'll get it into our QA's hands.
     
  10. BaptisteIngerop

    BaptisteIngerop

    Joined:
    Jun 16, 2020
    Posts:
    1
    Sorry, it's not quite related to the subject, but since the update just got mentionned, I'll give it a try :
    I'm working with hololens 2 and I just updated the windows mixed reality package on Unity 2019.3.7.f1, and since then, each time I hit the connect button for holographic remoting, I have the error
    Disconnected with error 7
    UnityEditor.EditorApplication:Internal_CallUpdateFuncitions()
    Does anyone have a tip for that ?
     
  11. flintmech

    flintmech

    Joined:
    Sep 29, 2011
    Posts:
    32
    I'm having the same issue as OP.

    I had been using the Windows Mixed Reality package when developing for the HoloLens using HoloToolkit.

    I'm working on incrementally upgrading my project - I know I will eventually need to replace HoloToolkit with MRTK to get more modern features and support the HoloLens 2, but for right now I'm just trying to get my existing Hololens 1 project working in Unity 2019 with the existing HoloToolkit.

    The Windows Mixed Reality package and the built-in XR player settings have been deprecated. I tried to follow along all of the pop-up instructions to "install legacy X and install this new Plugin" (things are a little confusing due to all of the separate pieces, but I think I got it).

    I've now got the new "Windows XR Plugin" package installed, and opened the new "Windows Mixed Reality" editor window which replaces the now-deprecated "Holographic Emulation" window. I set the Emulation Mode to Remote to Device, launched the Holographic Remoting Player app on my HoloLens, entered the device IP into the window in Unity, and clicked Connect.

    I get the same console messages as @pranvokua9 - first "Remoting connect returned: True", and then a few seconds later, "Connection Failure Reason: None".

    I'm using Unity 2019.4.0
     
    Last edited: Jun 24, 2020
    lukasz13 and BilalAsadi like this.
  12. flintmech

    flintmech

    Joined:
    Sep 29, 2011
    Posts:
    32
    Apparently the solution is to continue to ignore all of the deprecation warnings and instructions to switch to the new XR plugins setup.

    I uninstalled the "XR Plugin Management" and "Windows XR Plugin" packages, reinstalled the "Windows Mixed Reality" package, and re-enabled "Virtual Reality Supported" in PlayerSettings->XR Settings, with Windows Mixed Reality added to the Virtual Reality SDKs list. I checked "WSA Holographic Remoting supported".

    Despite all the warnings about deprecation, this enables Unity 2019.4 to connect successfully to my HoloLens 1's remoting player from the Holographic Emulation editor window.

    Now, I have a different problem on the HoloLens 2 in the same project.

    I of course switch "Device Version" in the Holographic Emulation window to "HoloLens 2", and update the "Remote Machine" field to the IP address of the HoloLens 2. I installed the Holographic Remoting Player app on the device and launched it (I notice it looks different when waiting for a connection - it even shows a version number now, v2.1.3.0). When I click "Connect" in the Holographic Emulation editor window, the status actually turns green for a very brief moment, and then it disconnects. The display in the HoloLens flashes, and then red error text at the bottom that says "Connection has been lost or closed by the remote side." The Unity console prints error messages that only say,

    Disconnected with error ConnectionLost
    UnityEditor.EditorApplication:Internal_CallUpdateFunctions()
     
  13. flintmech

    flintmech

    Joined:
    Sep 29, 2011
    Posts:
    32
    I'm sorry to bump this a third time, but it deserves an update for anyone who may be finding and following this in the future.

    The issue I described in the last paragraph of my last comment above, with the remoting successfully connecting but immediately disconnecting, was solved by restarting my PC and/or Unity Hub. It was some kind of network issue in my set up that resolved itself with the restart. I don't know anything more than that.
     
  14. lukasz13

    lukasz13

    Joined:
    Jul 10, 2017
    Posts:
    7
    Hi, EdBlais the WMR package v4.2.3 is legacy XR plugin that has deprecated Holographic Remoting tool that is still working (mostly.. except that is crashing Unity every time to time). We talk here about new Windows XR Plugin that latest version has number 2.2.0 and belongs to new XR SDK system. This plugin has new but very similar tool that is not connecting to HoloLens 1 devices. I submit a bug repo with #1262129 and confirmed that is not fixed with the latest
    Unity 2019.4.2f1, XR Plugin Management 3.2.13, Windows XR Plugin 2.2.0.
    Please push it forward as it is blocking us from using new XR SDK plugins and have common codebase for HoloLens 1 and HoloLens 2 project.
    BTW: HoloLens 2 remoting is not working either but at least it is connecting to device. I will make another bug repo to report HoloLens 2 support.

    Thanks in advance for your help!
     
  15. j_sch

    j_sch

    Joined:
    Sep 10, 2015
    Posts:
    5
    The original issue is with the Windows XR Plugin, not the legacy VR setup. I have the problem with
    • Unity 2019.4.9f1
    • XR Plugin Management 3.2.13
    • Windows XR Plugin 2.3.0
    • Holographic Remoting Player 1.0.8.0
    • Hololens 1, 17763.1397.x86fre.rs5_release_svc_prod1.200804-2027
    Remoting connect returned: True
    UnityEngine.DebugLogHandler:Internal_Log(LogType, LogOption, String, Object)
    UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
    UnityEngine.Logger:Log(LogType, Object)
    UnityEngine.Debug:Log(Object)
    UnityEngine.XR.WindowsMR.WindowsMRRemoting:Connect() (at Library\PackageCache\com.unity.xr.windowsmr@2.3.0\Runtime\Emulation\Remoting.cs:133)
    UnityEditor.XR.WindowsMR.WindowsMRRemotingWindow:HandleButtonPress() (at Library\PackageCache\com.unity.xr.windowsmr@2.3.0\Editor\WindowsMRRemotingWindow.cs:151)
    UnityEditor.XR.WindowsMR.WindowsMRRemotingWindow:DrawRemotingOnGUI() (at Library\PackageCache\com.unity.xr.windowsmr@2.3.0\Editor\WindowsMRRemotingWindow.cs:128)
    UnityEditor.XR.WindowsMR.WindowsMRRemotingWindow:OnGUI() (at Library\PackageCache\com.unity.xr.windowsmr@2.3.0\Editor\WindowsMRRemotingWindow.cs:160)
    System.Reflection.MonoMethod:InternalInvoke(Object, Object[], Exception&)
    System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)
    System.Reflection.MethodBase:Invoke(Object, Object[])
    UnityEditor.HostView:Invoke(String, Object)
    UnityEditor.HostView:Invoke(String)
    UnityEditor.HostView:InvokeOnGUI(Rect, Rect)
    UnityEditor.DockArea:DrawView(Rect, Rect)
    UnityEditor.DockArea:OldOnGUI()
    UnityEngine.UIElements.IMGUIContainer:DoOnGUI(Event, Matrix4x4, Rect, Boolean, Rect, Action, Boolean)
    UnityEngine.UIElements.IMGUIContainer:HandleIMGUIEvent(Event, Matrix4x4, Rect, Action, Boolean)
    UnityEngine.UIElements.IMGUIContainer:HandleIMGUIEvent(Event, Action, Boolean)
    UnityEngine.UIElements.IMGUIContainer:HandleIMGUIEvent(Event, Boolean)
    UnityEngine.UIElements.IMGUIContainer:SendEventToIMGUI(EventBase, Boolean)
    UnityEngine.UIElements.IMGUIContainer:HandleEvent(EventBase)
    UnityEngine.UIElements.EventDispatchUtilities:propagateEvent(EventBase)
    UnityEngine.UIElements.MouseEventDispatchingStrategy:DispatchEvent(EventBase, IPanel)
    UnityEngine.UIElements.EventDispatcher:ApplyDispatchingStrategies(EventBase, IPanel, Boolean)
    UnityEngine.UIElements.EventDispatcher:processEvent(EventBase, IPanel)
    UnityEngine.UIElements.EventDispatcher:processEventQueue()
    UnityEngine.UIElements.EventDispatcher:OpenGate()
    UnityEngine.UIElements.EventDispatcherGate:Dispose()
    UnityEngine.UIElements.EventDispatcher:processEvent(EventBase, IPanel)
    UnityEngine.UIElements.EventDispatcher:Dispatch(EventBase, IPanel, DispatchMode)
    UnityEngine.UIElements.BaseVisualElementPanel:SendEvent(EventBase, DispatchMode)
    UnityEngine.UIElements.UIElementsUtility:DoDispatch(BaseVisualElementPanel)
    UnityEngine.UIElements.UIElementsUtility:processEvent(Int32, IntPtr)
    UnityEngine.GUIUtility:processEvent(Int32, IntPtr)

    (Filename: Library/PackageCache/com.unity.xr.windowsmr@2.3.0/Runtime/Emulation/Remoting.cs Line: 133)

    Connection Failure Reason: None
    UnityEngine.DebugLogHandler:Internal_Log(LogType, LogOption, String, Object)
    UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
    UnityEngine.Logger:Log(LogType, Object)
    UnityEngine.Debug:Log(Object)
    UnityEditor.XR.WindowsMR.WindowsMRRemotingWindow:DrawRemotingOnGUI() (at Library\PackageCache\com.unity.xr.windowsmr@2.3.0\Editor\WindowsMRRemotingWindow.cs:85)
    UnityEditor.XR.WindowsMR.WindowsMRRemotingWindow:OnGUI() (at Library\PackageCache\com.unity.xr.windowsmr@2.3.0\Editor\WindowsMRRemotingWindow.cs:160)
    System.Reflection.MonoMethod:InternalInvoke(Object, Object[], Exception&)
    System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)
    System.Reflection.MethodBase:Invoke(Object, Object[])
    UnityEditor.HostView:Invoke(String, Object)
    UnityEditor.HostView:Invoke(String)
    UnityEditor.HostView:InvokeOnGUI(Rect, Rect)
    UnityEditor.DockArea:DrawView(Rect, Rect)
    UnityEditor.DockArea:OldOnGUI()
    UnityEngine.UIElements.IMGUIContainer:DoOnGUI(Event, Matrix4x4, Rect, Boolean, Rect, Action, Boolean)
    UnityEngine.UIElements.IMGUIContainer:HandleIMGUIEvent(Event, Matrix4x4, Rect, Action, Boolean)
    UnityEngine.UIElements.IMGUIContainer:DoIMGUIRepaint()
    UnityEngine.UIElements.UIR.RenderChainCommand:ExecuteNonDrawMesh(DrawParams, Boolean, Single, Exception&)
    UnityEngine.UIElements.UIR.UIRenderDevice:EvaluateChain(RenderChainCommand, Rect, Matrix4x4, PanelClearFlags, Texture, Texture, Texture, Single, NativeArray`1, NativeArray`1, Exception&)
    UnityEngine.UIElements.UIR.UIRenderDevice:DrawChain(RenderChainCommand, Rect, Matrix4x4, PanelClearFlags, Texture, Texture, Texture, Single, NativeArray`1, NativeArray`1, Exception&)
    UnityEngine.UIElements.UIR.RenderChain:Render(Rect, Matrix4x4, PanelClearFlags)
    UnityEngine.UIElements.UIRRepaintUpdater:DrawChain(Rect, Matrix4x4)
    UnityEngine.UIElements.UIRRepaintUpdater:Update()
    UnityEngine.UIElements.VisualTreeUpdater:UpdateVisualTreePhase(VisualTreeUpdatePhase)
    UnityEngine.UIElements.Panel:UpdateForRepaint()
    UnityEngine.UIElements.Panel:Repaint(Event)
    UnityEngine.UIElements.UIElementsUtility:DoDispatch(BaseVisualElementPanel)
    UnityEngine.UIElements.UIElementsUtility:processEvent(Int32, IntPtr)
    UnityEngine.GUIUtility:processEvent(Int32, IntPtr)

    (Filename: Library/PackageCache/com.unity.xr.windowsmr@2.3.0/Editor/WindowsMRRemotingWindow.cs Line: 85)
     
  16. joejo

    joejo

    Unity Technologies

    Joined:
    May 26, 2016
    Posts:
    958
    Remoting for HoloLens on XR SDK it limited to HL2 devices only. This is a limitation on the updated remoting APIs and libraries Microsoft provides us at this time.
     
  17. JasonC_

    JasonC_

    Joined:
    Oct 27, 2019
    Posts:
    66
    Any news on HL1 support?

    Can't you put the older, still-working remoting tool from the legacy packages into the new ones?
     
  18. joejo

    joejo

    Unity Technologies

    Joined:
    May 26, 2016
    Posts:
    958
    The minimum OS target for the Windows MR XR SDK system is the RS4 version of the OS, released in 2018. The older HL1 plugin ins are not only no longer being supported by Microsoft but neither do they support RS4 APIs we require/are required to use.
     
    JasonC_ likes this.
  19. JasonC_

    JasonC_

    Joined:
    Oct 27, 2019
    Posts:
    66
    Thanks for replying. That's too bad; I've found the HL1 to be a superior device in terms of both display quality and (oddly) interaction, and so it's still my primary development device. Ah well, c'est la vie.