ARCore Camera Feed Issue - UE 5.2.0

I’m hitting this issue as well, on 5.2.1. I tested it on both MacOS (M2) and Windows.

On MacOS, the shader compilation fails and there is no stack trace or useful error message, even with shader debugging turned on, it just says “Internal Error!” on the AR material compile steps.

On Windows, I do get a stack trace, and it looks like it is complaining about a missing function on the std::vector class when doing the optimization pass over the SPIRV shader. Note that several materials fail - I think the shared function in the shader is the camera UV lookup function mentioned earlier.

LogPlayLevel: Warning: UAT: LogInit: Display: LogShaderCompilers: Warning: Failed to compile Material /GoogleARCore/M_SceneDepthOcclusion.M_SceneDepthOcclusion for platform GLSL_ES3_1_ANDROID, Default Material will be used in game.
LogPlayLevel: UAT: Exception encountered in platform compiler: Exception: CPP_EXCEPTION, address=0x000000007732536c
LogPlayLevel: UAT:
LogPlayLevel: UAT: Exception Callstack:
LogPlayLevel: UAT: 0x00007ffa7732536c KERNELBASE.dll!UnknownFunction []
LogPlayLevel: UAT:
LogPlayLevel: UAT: 0x00007ff9bae86720 VCRUNTIME140.dll!UnknownFunction []
LogPlayLevel: UAT:
LogPlayLevel: UAT: 0x00007ff9ba50b762 MSVCP140.dll!UnknownFunction []
LogPlayLevel: UAT:
LogPlayLevel: UAT: 0x00007ff928180b21 ShaderConductor.dll!std::vector<wchar_t const *,std::allocator<wchar_t const *> >::_Xlength() [C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.34.31933\include\vector:2201]
LogPlayLevel: UAT:
LogPlayLevel: UAT: 0x00007ff92830b49d ShaderConductor.dll!spvtools::MakeUnique<std::vector<unsigned int,std::allocator >,std::vector<unsigned int,std::allocator > &>() [D:\5.2\Engine\Source\ThirdParty\ShaderConductor\ShaderConductor\External\SPIRV-Tools\source\util\make_unique.h:25]
LogPlayLevel: UAT:
LogPlayLevel: UAT: 0x00007ff92830bcc5 ShaderConductor.dll!spvtools::utils::SmallVector<unsigned int,2>::operator=() [D:\5.2\Engine\Source\ThirdParty\ShaderConductor\ShaderConductor\External\SPIRV-Tools\source\util\small_vector.h:108]
LogPlayLevel: UAT:
LogPlayLevel: UAT: 0x00007ff928332cc2 ShaderConductor.dll!<lambda_51198c386a817a2d673755079076ea5b>::operator()() [D:\5.2\Engine\Source\ThirdParty\ShaderConductor\ShaderConductor\External\SPIRV-Tools\source\opt\reduce_const_array_to_struct_pass.cpp:209]
LogPlayLevel: UAT:
LogPlayLevel: UAT: 0x00007ff9283ba904 ShaderConductor.dll!std::_Func_impl_no_alloc<<lambda_f550882f3894c785da4fc1b0c46aead2>,bool,spvtools::opt::Instruction *>::_Do_call() [C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.34.31933\include\functional:833]
LogPlayLevel: UAT:
LogPlayLevel: UAT: 0x00007ff9283cc901 ShaderConductor.dll!spvtools::opt::analysis::DefUseManager::WhileEachUser() [D:\5.2\Engine\Source\ThirdParty\ShaderConductor\ShaderConductor\External\SPIRV-Tools\source\opt\def_use_manager.cpp:123]
LogPlayLevel: UAT:
LogPlayLevel: UAT: 0x00007ff9283cc248 ShaderConductor.dll!spvtools::opt::analysis::DefUseManager::ForEachUser() [D:\5.2\Engine\Source\ThirdParty\ShaderConductor\ShaderConductor\External\SPIRV-Tools\source\opt\def_use_manager.cpp:135]
LogPlayLevel: UAT:
LogPlayLevel: UAT: 0x00007ff928333eb5 ShaderConductor.dll!spvtools::opt::ReduceConstArrayToStructPass::ReduceArray() [D:\5.2\Engine\Source\ThirdParty\ShaderConductor\ShaderConductor\External\SPIRV-Tools\source\opt\reduce_const_array_to_struct_pass.cpp:194]
LogPlayLevel: UAT:
LogPlayLevel: UAT: 0x00007ff9283338f9 ShaderConductor.dll!spvtools::opt::ReduceConstArrayToStructPass::Process() [D:\5.2\Engine\Source\ThirdParty\ShaderConductor\ShaderConductor\External\SPIRV-Tools\source\opt\reduce_const_array_to_struct_pass.cpp:79]
LogPlayLevel: UAT:
LogPlayLevel: UAT: 0x00007ff92830db26 ShaderConductor.dll!spvtools::opt::Pass::Run() [D:\5.2\Engine\Source\ThirdParty\ShaderConductor\ShaderConductor\External\SPIRV-Tools\source\opt\pass.cpp:38]
LogPlayLevel: UAT:
LogPlayLevel: UAT: 0x00007ff92831745f ShaderConductor.dll!spvtools::opt::PassManager::Run() [D:\5.2\Engine\Source\ThirdParty\ShaderConductor\ShaderConductor\External\SPIRV-Tools\source\opt\pass_manager.cpp:59]
LogPlayLevel: UAT:
LogPlayLevel: UAT: 0x00007ff928300c19 ShaderConductor.dll!spvtools::Optimizer::Run() [D:\5.2\Engine\Source\ThirdParty\ShaderConductor\ShaderConductor\External\SPIRV-Tools\source\opt\optimizer.cpp:642]
LogPlayLevel: UAT:
LogPlayLevel: UAT: 0x00007ff92817cb1b ShaderConductor.dll!ShaderConductor::Compiler::Optimize() [D:\5.2\Engine\Source\ThirdParty\ShaderConductor\ShaderConductor\Source\Core\ShaderConductor.cpp:1968]
LogPlayLevel: UAT:
LogPlayLevel: UAT: 0x00007ffa534764a5 ShaderCompileWorker-ShaderCompilerCommon.dll!CrossCompiler::FShaderConductorContext::OptimizeSpirv() []
LogPlayLevel: UAT:
LogPlayLevel: UAT: 0x00007ff8ff027a67 ShaderCompileWorker-ShaderFormatOpenGL.dll!CompileToGlslWithShaderConductor() []
LogPlayLevel: UAT:
LogPlayLevel: UAT: 0x00007ff8ff02664a ShaderCompileWorker-ShaderFormatOpenGL.dll!FOpenGLFrontend::CompileShader() []
LogPlayLevel: UAT:
LogPlayLevel: UAT: 0x00007ff8ff027088 ShaderCompileWorker-ShaderFormatOpenGL.dll!FShaderFormatGLSL::CompileShader() []
LogPlayLevel: UAT:
LogPlayLevel: UAT: 0x00007ff8feb2b88b ShaderCompileWorker-RenderCore.dll!CompileShaderInternal() []
LogPlayLevel: UAT:
LogPlayLevel: UAT: 0x00007ff8feb2b612 ShaderCompileWorker-RenderCore.dll!CompileShader() []
LogPlayLevel: UAT:
LogPlayLevel: UAT: 0x00007ff605c2d64e ShaderCompileWorker.exe!FWorkLoop::ProcessInputFromArchive() []
LogPlayLevel: UAT:
LogPlayLevel: UAT: 0x00007ff605c282a2 ShaderCompileWorker.exe!FWorkLoop::Loop() []
LogPlayLevel: UAT:
LogPlayLevel: UAT: 0x00007ff605c2590a ShaderCompileWorker.exe!GuardedMain() []
LogPlayLevel: UAT:
LogPlayLevel: UAT: 0x00007ff605c25b74 ShaderCompileWorker.exe!GuardedMainWrapper() []
LogPlayLevel: UAT:
LogPlayLevel: UAT: 0x00007ff605c36ea8 ShaderCompileWorker.exe!wmain() []
LogPlayLevel: UAT:
LogPlayLevel: UAT: 0x00007ff605c3861c ShaderCompileWorker.exe!__scrt_common_main_seh() []
LogPlayLevel: UAT:
LogPlayLevel: UAT: 0x00007ffa77d226ad KERNEL32.DLL!UnknownFunction []
LogPlayLevel: UAT:
LogPlayLevel: UAT: 0x00007ffa79d2a9f8 ntdll.dll!UnknownFunction []
LogPlayLevel: UAT: