Application Crash When Enabling Scene Depth Occlusion in AR Handheld Template

Hey all,

When testing 5.6 for iOS AR, I found that when I enable ‘Use Scene Depth for Occlusion’ I have a hard app crash. When debugging with mac, i found the below attached trace.

‘Use Person Segmentation for Occlusion’ does not cause a crash, but i wonder if that even works in the handheld template.

It’s worth noting that in the XCode project, there are alot of warnings around properties should be accessed in the main thread only.

Thanks,

Steps to Reproduce
Build application with the Use Scene Depth For Occlusion boolean in ARConfig asset, the app will crash on boot.

To further add to this, below is an error through the project launcher :

2025-06-05 16:52:23.430 HandheldAR[5867:3186196] [UE] Assertion failed: false [File:./Runtime/Renderer/Private/ShaderBaseClasses.cpp] [Line: 283]

‘FARKitCameraOverlayMobilePS’ shader uniform expression set mismatched shader map for material ‘MID_M_SceneDepthOcclusion_2147482359/M_SceneDepthOcclusion’.

Material: ‘Material /AppleARKit/M_SceneDepthOcclusion.M_SceneDepthOcclusion’

Proxy: ‘MaterialInstanceDynamic /Engine/Transient.MID_M_SceneDepthOcclusion_2147482359’

2025-06-05 16:52:23.438 HandheldAR[5867:3186196] [UE] [2025.06.05-15.52.23:438][289]Assertion failed: false [File:./Runtime/Renderer/Private/ShaderBaseClasses.cpp] [Line: 283]

‘FARKitCameraOverlayMobilePS’ shader uniform expression set mismatched shader map for material ‘MID_M_SceneDepthOcclusion_2147482359/M_SceneDepthOcclusion’.

Material: ‘Material /AppleARKit/M_SceneDepthOcclusion.M_SceneDepthOcclusion’

Proxy: ‘MaterialInstanceDynamic /Engine/Transient.MID_M_SceneDepthOcclusion_2147482359’

2025-06-05 16:52:23.484 HandheldAR[5867:3186196] [UE] [2025.06.05-15.52.23:484][289]LogIOS: Error: === Critical error: ===

2025-06-05 16:52:23.484 HandheldAR[5867:3186196] [UE] [2025.06.05-15.52.23:484][289]LogIOS: Error:

2025-06-05 16:52:23.484 HandheldAR[5867:3186196] [UE] [2025.06.05-15.52.23:484][289]LogIOS: Error: 5 HandheldAR 0x0000000106cf6b8c FMaterialShader::SetParameters(FRHIBatchedShaderParameters&, FMaterialRenderProxy const*, FMaterial const&, FSceneInterface const*) + 440

2025-06-05 16:52:23.484 HandheldAR[5867:3186196] [UE] [2025.06.05-15.52.23:484][289]LogIOS: Error: 6 HandheldAR 0x000000010a1539d4 void SetShaderParametersLegacy<FRHICommandList, TARKitCameraOverlayPS<true>, FRHIPixelShader, FSceneView const&, FMaterialRenderProxy const*&, FMaterial const&>(FRHICommandList&, TShaderRefBase<TARKitCameraOverlayPS<true>, FShaderMapPointerTable> const&, FRHIPixelShader*, FSceneView const&, FMaterialRenderProxy const*&, FMaterial const&) + 112

2025-06-05 16:52:23.484 HandheldAR[5867:3186196] [UE] [2025.06.05-15.52.23:484][289]LogIOS: Error: 7 HandheldAR 0x000000010a133588 FAppleARKitVideoOverlay::RenderVideoOverlayWithMaterial(FRHICommandList&, FSceneView const&, FAppleARKitFrame&, UMaterialInstanceDynamic*, bool) + 2088

2025-06-05 16:52:23.484 HandheldAR[5867:3186196] [UE] [2025.06.05-15.52.23:484][289]LogIOS: Error: 8 HandheldAR 0x000000010676eea8 FMobileSceneRenderer::PostRenderBasePass(FRHICommandList&, FViewInfo&) + 820

2025-06-05 16:52:23.484 HandheldAR[5867:3186196] [UE] [2025.06.05-15.52.23:484][289]LogIOS: Error: 9 HandheldAR 0x00000001067c3928 TRDGLambdaPass<FMobileRenderPassParameters, FMobileSceneRenderer::RenderForwardSinglePass(FRDGBuilder&, FMobileRenderPassParameters*, FRenderViewContext&, FSceneTextures&, FInstanceCullingManager&)::$_0>::Execute(FRHIComputeCommandList&) + 1276

2025-06-05 16:52:23.484 HandheldAR[5867:3186196] [UE] [2025.06.05-15.52.23:484][289]LogIOS: Error: 10 HandheldAR 0x0000000104dc1140 FRDGBuilder::ExecuteSerialPass(FRHIComputeCommandList&, FRDGPass*) + 160

2025-06-05 16:52:23.484 HandheldAR[5867:3186196] [UE] [2025.06.05-15.52.23:484][289]LogIOS: Error: 11 HandheldAR 0x0000000104db6c04 FRDGBuilder::Execute() + 5008

2025-06-05 16:52:23.484 HandheldAR[5867:3186196] [UE] [2025.06.05-15.52.23:484][289]LogIOS: Error: 12 HandheldAR 0x0000000106c4f7d8 FSceneRenderProcessor::Execute()::$_0::operator()(FRHICommandListImmediate&) const + 1132

2025-06-05 16:52:23.484 HandheldAR[5867:3186196] [UE] [2025.06.05-15.52.23:484][289]LogIOS: Error: 13 HandheldAR 0x0000000106c50894 TGraphTask<TEnqueueUniqueRenderCommandType<TRenderCommandTag<FSceneRenderProcessor::Execute()::TSTR_SceneRenderBuilder_Render856>, FSceneRenderProcessor::Execute()::$_0>>::ExecuteTask() + 680

2025-06-05 16:52:23.484 HandheldAR[5867:3186196] [UE] [2025.06.05-15.52.23:484][289]LogIOS: Error: 14 HandheldAR 0x00000001031e8938 UE::Tasks::Private::FTaskBase::TryExecuteTask() + 248

2025-06-05 16:52:23.484 HandheldAR[5867:3186196] [UE] [2025.06.05-15.52.23:484][289]LogIOS: Error: 15 HandheldAR 0x00000001031e79a4 FNamedTaskThread::ProcessTasksNamedThread(int, bool) + 1512

2025-06-05 16:52:23.484 HandheldAR[5867:3186196] [UE] [2025.06.05-15.52.23:484][289]LogIOS: Error: 16 HandheldAR 0x00000001031e6274 FNamedTaskThread::ProcessTasksUntilQuit(int) + 148

2025-06-05 16:52:23.484 HandheldAR[5867:3186196] [UE] [2025.06.05-15.52.23:484][289]LogIOS: Error: 17 HandheldAR 0x0000000104e28a6c RenderingThreadMain(FEvent*) + 448

2025-06-05 16:52:23.484 HandheldAR[5867:3186196] [UE] [2025.06.05-15.52.23:484][289]LogIOS: Error: 18 HandheldAR 0x0000000104e5aad0 FRenderingThread::Run() + 56

2025-06-05 16:52:23.484 HandheldAR[5867:3186196] [UE] [2025.06.05-15.52.23:484][289]LogIOS: Error: 19 HandheldAR 0x0000000103360698 FRunnableThreadPThread::Run() + 156

2025-06-05 16:52:23.484 HandheldAR[5867:3186196] [UE] [2025.06.05-15.52.23:484][289]LogIOS: Error: 20 HandheldAR 0x000000010331de3c FRunnableThreadPThread::_ThreadProc(void*) + 80

2025-06-05 16:52:23.484 HandheldAR[5867:3186196] [UE] [2025.06.05-15.52.23:484][289]LogIOS: Error: 21 libsystem_pthread.dylib 0x00000002293cf344 _pthread_start + 136

2025-06-05 16:52:23.484 HandheldAR[5867:3186196] [UE] [2025.06.05-15.52.23:484][289]LogIOS: Error: 22 libsystem_pthread.dylib 0x00000002293ccab8 thread_start + 8

2025-06-05 16:52:23.484 HandheldAR[5867:3186196] [UE] [2025.06.05-15.52.23:484][289]LogIOS: Error:

2025-06-05 16:52:23.493 HandheldAR[5867:3186196] [UE] [2025.06.05-15.52.23:493][289]LogGenericPlatformMisc: FPlatformMisc::RequestExit(1, FIOSErrorOutputDevice::Serialize)

16:52:12 Enabling developer disk image services.

16:52:12 Acquired usage assertion.

Looks like it may also be relevant to this : Unreal Engine Issues and Bug Tracker (UE\-234142)

Hi Connor,

The Jira issue you’ve appears to be the issue at hand. A fix is targeting 5.7.

Best regards.

Hey Stéphane,

Any chance the change already exists in mainline and you can point me too it so we can back port?

Thanks,

Hi Connor,

A fix has been provided at CL# 43835519.

Best regards.