UE 5.5.4 PSO Precaching crashing on Android Meta Quest

Hello!

After upgrading to 5.5.4, our Android Quest build is crashing on launch with the following callstack:

[2025.04.08-15.30.12:500][  0]LogAndroid: Error: === Critical error: ===
[2025.04.08-15.30.12:500][  0]LogAndroid: Error: 
[2025.04.08-15.30.12:500][  0]LogAndroid: Error: Assertion failed: Shader.IsValid() [File:Runtime\RenderCore\Public/GlobalShader.h] [Line: 237] 
[2025.04.08-15.30.12:500][  0]LogAndroid: Error: Failed to find shader type TParticleSimulationPS<PCM_DepthBuffer> in Platform SF_VULKAN_ES31_ANDROID
[2025.04.08-15.30.12:500][  0]LogAndroid: Error: [Callstack] 0x0000006F572226C0 libUnreal.so(0x0000000012DFD6C0)!TShaderRefBase<TParticleSimulationPS<(EParticleCollisionShaderMode)1>, FShaderMapPointerTable> FGlobalShaderMap::GetShader<TParticleSimulationPS<(EParticleCollisionShaderMode)1> >(int) const  []
[2025.04.08-15.30.12:500][  0]LogAndroid: Error: [Callstack] 0x0000006F571F3050 libUnreal.so(0x0000000012DCE050)!ParticleGPUSimulationGlobalPSOCollector(FSceneTexturesConfig const&, int, TArray<FPSOPrecacheData, TSizedDefaultAllocator<32> >&)  []
[2025.04.08-15.30.12:500][  0]LogAndroid: Error: [Callstack] 0x0000006F575D5354 libUnreal.so(0x00000000131B0354)!PrecacheComputePipelineStatesForGlobalShaders(EShaderPlatform, ITargetPlatform const*)  []
[2025.04.08-15.30.12:500][  0]LogAndroid: Error: [Callstack] 0x0000006F581258D0 libUnreal.so(0x0000000013D008D0)!FEngineLoop::PreInitPostStartupScreen(char16_t const*)  []
[2025.04.08-15.30.12:500][  0]LogAndroid: Error: [Callstack] 0x0000006F5811CF38 libUnreal.so(0x0000000013CF7F38)!FEngineLoop::PreInit(char16_t const*)  []
[2025.04.08-15.30.12:500][  0]LogAndroid: Error: [Callstack] 0x0000006F58110C3C libUnreal.so(0x0000000013CEBC3C)!AndroidMain(android_app*)  []
[2025.04.08-15.30.12:500][  0]LogAndroid: Error: [Callstack] 0x0000006F58119924 libUnreal.so(0x0000000013CF4924)!android_main()  []
[2025.04.08-15.30.12:500][  0]LogAndroid: Error: [Callstack] 0x0000006F5813A31C libUnreal.so(0x0000000013D1531C)![Unknown]()  []
[2025.04.08-15.30.12:500][  0]LogAndroid: Error: [Callstack] 0x0000007083982CF0 libc.so(0x00000000000EFCF0)![Unknown]()  []
[2025.04.08-15.30.12:500][  0]LogAndroid: Error: [Callstack] 0x000000708391F344 libc.so(0x000000000008C344)![Unknown]()  []

I’d appreciate any insights or advice about this problem. Is it an issue with PSO Precaching on Android in this engine? Is it a particular shader that won’t work for PSO Precaching on Android?

I’m at a bit of a loss; going to try disabling precaching for now.

Thanks kindly,
Joe

Edit: disabling PSO precaching avoids the crash but obviously isn’t ideal

Edit 2: this was not an issue with 5.5.3

I’m trying to do a bit more legwork on this one:

  • I did not hit this issue in a blank Android project (maybe because there are no GPU Particles?)
  • Disabling Global PSO Precache also circumvents the issue.

I’m going to keep trying to narrow down the issue.