codejosi
(Josi)
December 26, 2022, 9:25pm
1
Tried following this tutorial to setup spatial mapping and was unsuccessful as “OnUpdateTrackedGeometry (ARTrackableNotify)” never seems to be called. Since this project was developed for 4.26 I figured some things might have changed and so decided to do some more research.
Found this recent article from Microsoft suggesting I call ToggleARCapture (true) however this causes my project to crash.
Looking at the comments in BodySetup.cpp for line 619 we see that this code is meant to prevent starting another cook cycle if one is already in progress. This leads me to believe that ToggleARCapture is already being called somewhere and so by calling it again, I’m causing a crash. However, I am not able to see any mesh data for the environment even with the debug option enabled in my ARConfig so it seems like the HoloLens isn’t actually scanning my environment. I am working in a well lit room at a desk so there shouldn’t be any issue with tracking and I’m pretty certain that I’ve enabled all the necessary settings and permissions.
Any help or suggestions would be appreciated! If there’s not enough information here, I’m happy to provide more details. Just let me know what would be helpful to see.
1 Like
codejosi
(Josi)
December 27, 2022, 8:06pm
2
Apparently this is a bug… tentatively scheduled to be fixed in 5.1.1
opened 07:36AM - 14 Nov 22 UTC
![image](https://user-images.githubusercontent.com/18000205/201601131-1f186a8c-c… bf2-41c5-9060-86a80acb4c40.png)
As shown in #68 enabling that option results in a crash with this call stack:
```
Assertion failed: CurrentCookHelper == nullptr [File:D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\PhysicsEngine\BodySetup.cpp] [Line: 619]
UnrealEditor_Engine!UBodySetup::CreatePhysicsMeshesAsync() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\PhysicsEngine\BodySetup.cpp:619]
UnrealEditor_MRMesh!UMRMeshComponent::SendBrickData_Internal() [D:\build\++UE5\Sync\Engine\Source\Runtime\MRMesh\Private\MRMeshComponent.cpp:768]
UnrealEditor_MRMesh!UMRMeshComponent::UpdateMesh() [D:\build\++UE5\Sync\Engine\Source\Runtime\MRMesh\Private\MRMeshComponent.cpp:1101]
UnrealEditor_AugmentedReality!UARPlaneComponent::UpdateVisualization_Implementation() [D:\build\++UE5\Sync\Engine\Source\Runtime\AugmentedReality\Private\ARComponent.cpp:418]
UnrealEditor_CoreUObject!UFunction::Invoke() [D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\Class.cpp:5912]
UnrealEditor_CoreUObject!UObject::ProcessEvent() [D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\ScriptCore.cpp:2003]
UnrealEditor_AugmentedReality!UARPlaneComponent::OnRep_Payload() [D:\build\++UE5\Sync\Engine\Source\Runtime\AugmentedReality\Private\ARComponent.cpp:175]
UnrealEditor_AugmentedReality!UARPlaneComponent::execServerUpdatePayload() [D:\build\++UE5\Sync\Engine\Intermediate\Build\Win64\UnrealEditor\Inc\AugmentedReality\ARComponent.gen.cpp:1606]
UnrealEditor_CoreUObject!UFunction::Invoke() [D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\Class.cpp:5912]
UnrealEditor_CoreUObject!UObject::ProcessEvent() [D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\ScriptCore.cpp:2003]
UnrealEditor_AugmentedReality!UARPlaneComponent::ServerUpdatePayload() [D:\build\++UE5\Sync\Engine\Intermediate\Build\Win64\UnrealEditor\Inc\AugmentedReality\ARComponent.gen.cpp:1651]
UnrealEditor_AugmentedReality!UARPlaneComponent::Update() [D:\build\++UE5\Sync\Engine\Source\Runtime\AugmentedReality\Private\ARComponent.cpp:175]
UnrealEditor_OpenXRAR!FOpenXRARSystem::OnObjectUpdated_GameThread() [D:\build\++UE5\Sync\Engine\Plugins\Runtime\OpenXR\Source\OpenXRAR\Private\OpenXRAR.cpp:744]
UnrealEditor_OpenXRAR!TBaseSPMethodDelegateInstance<0,FOpenXRARSystem,1,void __cdecl(void),FDefaultDelegateUserPolicy,TSharedPtr<FOpenXRARTrackedGeometryData,1> >::ExecuteIfSafe() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:307]
UnrealEditor_OpenXRAR!TGraphTask<FSimpleDelegateGraphTask>::ExecuteTask() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Public\Async\TaskGraphInterfaces.h:975]
UnrealEditor_Core!FNamedTaskThread::ProcessTasksNamedThread() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:753]
UnrealEditor_Core!FNamedTaskThread::ProcessTasksUntilQuit() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:642]
UnrealEditor_Core!FTaskGraphCompatibilityImplementation::WaitUntilTasksComplete() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:2169]
UnrealEditor_Engine!FTickTaskSequencer::ReleaseTickGroup() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\TickTaskManager.cpp:550]
UnrealEditor_Engine!FTickTaskManager::RunTickGroup() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\TickTaskManager.cpp:1592]
UnrealEditor_Engine!UWorld::RunTickGroup() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\LevelTick.cpp:790]
UnrealEditor_Engine!UWorld::Tick() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\LevelTick.cpp:1531]
UnrealEditor_UnrealEd!UEditorEngine::Tick() [D:\build\++UE5\Sync\Engine\Source\Editor\UnrealEd\Private\EditorEngine.cpp:1777]
UnrealEditor_UnrealEd!UUnrealEdEngine::Tick() [D:\build\++UE5\Sync\Engine\Source\Editor\UnrealEd\Private\UnrealEdEngine.cpp:474]
UnrealEditor!FEngineLoop::Tick() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:5215]
UnrealEditor!GuardedMain() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Launch.cpp:183]
UnrealEditor!GuardedMainWrapper() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:147]
UnrealEditor!LaunchWindowsStartup() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:283]
UnrealEditor!WinMain() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:330]
UnrealEditor!__scrt_common_main_seh() [d:\a01\_work\6\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
kernel32
ntdll
```
This option is needed because UE needs collision in order to generate navmesh data.
Is it possible to fix this? Thanks!
Info:
Remoting
UE 5.0.3
Microsoft OpenXR Plugin v1.1.14
2 Likes
Anyone else having trouble with the underlying mesh not producing anything even though Tracked geometry is reading? (using UE5.1)
So, Apparently it was failing inside the editor but worked on the packaged app. Testing further for other limitations.