The Mixed Reality Forums here are no longer being used or maintained.
There are a few other places we would like to direct you to for support, both from Microsoft and from the community.
The first way we want to connect with you is our mixed reality developer program, which you can sign up for at https://aka.ms/IWantMR.
For technical questions, please use Stack Overflow, and tag your questions using either hololens or windows-mixed-reality.
If you want to join in discussions, please do so in the HoloDevelopers Slack, which you can join by going to https://aka.ms/holodevelopers, or in our Microsoft Tech Communities forums at https://techcommunity.microsoft.com/t5/mixed-reality/ct-p/MicrosoftMixedReality.
And always feel free to hit us up on Twitter @MxdRealityDev.
PlaneFinding.DLL from GitHub doesn't load
Hello,
I am experiencing wired issue when trying to use HoloToolkit's spatial mapping from latest GitHub version. It throws DLLNotFound exception from PlaneFinding.FindSubPlanes() at DLLImports.FindSubPlanes(...). Checked that the DLL is present in the solution and even shows up in debug output as loaded plugin when app is debugged, but still throws the exception.
I tried to use older/simpler/stripped down version of HoloToolkit from HoloAcademy in the same solution instead of latest from the GitHub - works without any issues.
Is it a known issue? Am I missing something?
Thanks,
Alex
Best Answers
-
Jackson mod
We are investigating this. For now, please use the PlaneFinding DLL from the SpatialMapping course that is working for you.
5 -
ahillier mod
Hey AlexG,
Thanks so much for reporting this issue. The x86 version of PlaneFinding.dll that was checked into the HoloToolkit was incorrect, so we have swapped it out with the one from the SpatialMapping course. You are welcome to update to the latest toolkit, or keep working with your current fix (since it should be the same).
~Angela5
Answers
When you added the PlaneFinding dll's to your project, did you include the matching meta files?
These DLL's must be explicitly set for their platform and CPU.
Click on the DLL in your project and see if it has these settings:
Note: the Path might be different, but it must be under a Plugins directory.
Mine are the same:
Still, when running the app getting the following output:
Loading native plugins
Loading PlaneFinding.dll
Loading SharingClient.dll
Module information:
Built with Compiler Ver '190023026'
Built from '5.4/platform/winrt/hololens' branch
Version is '5.4.0b10-HTP (24077ef8c12f)'
Release build
Application type 'D3D11'
Used 'UWP'
PlayerConnection initialized from C:/Data/Users/DefaultAccount/AppData/Local/DevelopmentFiles/zzzVS.Release_x86.alexg/Data (debug = 0)
PlayerConnection initialized network socket : 0.0.0.0 55046
Multi-casting "[IP] 172.16.80.2 [Port] 55046 [Flags] 2 [Guid] 1472931004 [EditorId] 4294967295 [Version] 1048832 [Id] MetroPlayerX86(HoloLens-O9IFG) [Debug] 0" to [225.0.0.222:54997]...
GfxDevice: creating device client; threaded=1
Direct3D:
Initialize engine version: 5.4.0b10-HTP (24077ef8c12f)
Logical Screen DPI is 144.00.
Resolution: Switching to 1268 x 720 Fullscreen: True
Resolution: ApplicationView::IsFullScreenMode = False
Resolution: Entering fullscreen mode...
Resolution: Resizing swapchain to 1268 x 720 Fullscreen: True
Resolution: Done.
UnloadTime: 1.894500 ms
Starting the observer.
(Filename: C:\buildslave\unity\build\artifacts/generated/Metro/runtime/UnityEngineDebugBindings.gen.cpp Line: 45)
Setting up 1 worker threads for Enlighten.
Thread -> id: 17d8 -> priority: 1
Stopping the observer.
(Filename: C:\buildslave\unity\build\artifacts/generated/Metro/runtime/UnityEngineDebugBindings.gen.cpp Line: 45)
1 SpatialMappingManager.Instance.DrawVisualMeshes = False
(Filename: C:\buildslave\unity\build\artifacts/generated/Metro/runtime/UnityEngineDebugBindings.gen.cpp Line: 45)
Exception thrown: 'System.DllNotFoundException' in Assembly-CSharp.dll
Exception thrown: 'System.AggregateException' in mscorlib.ni.dll
AggregateException: One or more errors occurred.
at System.Threading.Tasks.Task
1.GetResultCore(Boolean waitCompletionNotification) at System.Threading.Tasks.Task
1.get_Result()at HoloToolkit.Unity.SurfaceMeshesToPlanes.d__24.MoveNext()
at UnityEngine.Internal.$MethodUtility.$Invoke969(Int64 instance, Int64* args)
at UnityEngine.Internal.$MethodUtility.InvokeMethod(Int64 instance, Int64* args, IntPtr method)
(Filename: Line: 0)
=============================================
The one that works (from older version of HoloTolkit) has slightly different settings:
Best,
Alex
We are investigating this. For now, please use the PlaneFinding DLL from the SpatialMapping course that is working for you.
Yes, that's what I am doing. Thanks.
Hey AlexG,
Thanks so much for reporting this issue. The x86 version of PlaneFinding.dll that was checked into the HoloToolkit was incorrect, so we have swapped it out with the one from the SpatialMapping course. You are welcome to update to the latest toolkit, or keep working with your current fix (since it should be the same).
~Angela
Great, thanks for the info!