Description

Below is the error output from FirstPerson template as a C++ project:

{+}../../../FirstPerson58CPP/Content/firstperson58cpp_sf_metal_es3_1_ios-metal_es3_1_ios.0.metallib, 5881486 bytes!
2025-09-23 17:43:18.945898-0400 FirstPerson58CPP-IOS-Debug[13763:226460648] serializedRequest, line 411: error 'Corrupted library'
serializedRequest:411: failed assertion `Corrupted library'
2025-09-23 17:43:18.946233-0400 FirstPerson58CPP-IOS-Debug[13763:226460649] serializedRequest, line 411: error 'Corrupted library'
{{}}

which eventually leads to a crash at PSO creation time.

#21    0x000000010da3976c in NS::Object::sendMessage<MTL::RenderPipelineState*, MTL::RenderPipelineDescriptor const*, unsigned long, MTL::RenderPipelineReflection* const*, NS::Error**> [inlined] at /Users/<username>/Perforce/UE5Main/Engine/Source/ThirdParty/MetalCPP/Foundation/NSObject.hpp:216
#22    0x000000010da3974c in MTL::Device::newRenderPipelineState [inlined] at /Users/<username>/Perforce/UE5Main/Engine/Source/ThirdParty/MetalCPP/Metal/MTLDevice.hpp:1039
#23    0x000000010da39718 in CreateMTLRenderPipeline at /Users/<username>/Perforce/UE5Main/Engine/Source/Runtime/Apple/MetalRHI/Private/MetalPipeline.cpp:1061
#24    0x000000010da2da84 in FMetalShaderPipelineCache::GetRenderPipeline at /Users/<username>/Perforce/UE5Main/Engine/Source/Runtime/Apple/MetalRHI/Private/MetalPipeline.cpp:281
#25    0x000000010da2ab68 in GetMTLRenderPipeline at /Users/<username>/Perforce/UE5Main/Engine/Source/Runtime/Apple/MetalRHI/Private/MetalPipeline.cpp:1286
#26    0x000000010da277e8 in FMetalGraphicsPipelineState::Compile at /Users/<username>/Perforce/UE5Main/Engine/Source/Runtime/Apple/MetalRHI/Private/MetalGraphicsPipelineState.cpp:39
#27    0x000000010da27600 in FMetalDynamicRHI::RHICreateGraphicsPipelineState at /Users/stephane.jacoby/Perforce/UE5Main/Engine/Source/Runtime/Apple/MetalRHI/Private/MetalDynamicRHI.cpp:82
#28    0x000000010479bb98 in RHICreateGraphicsPipelineState at /Users/<username>/Perforce/UE5Main/Engine/Source/Runtime/RHI/Public/DynamicRHI.h:1187
#29    0x000000010479d4c0 in FCompileGraphicsPipelineStateTask::CompilePSOInternal at /Users/<username>/Perforce/UE5Main/Engine/Source/Runtime/RHI/Private/PipelineStateCache.cpp:3377
#30    0x000000010479d154 in TCompilePipelineStateTaskBase<FCompileGraphicsPipelineStateTask, FGraphicsPipelineStateInitializer>::CompilePSO at /Users/<username>/Perforce/UE5Main/Engine/Source/Runtime/RHI/Private/PipelineStateCache.cpp:3217
#31    0x000000010479e1cc in void InternalAsyncCompilePipelineState<FCompileGraphicsPipelineStateTask, FGraphicsPipelineStateInitializer>(FGraphicsPipelineStateInitializer const&, EPSOPrecacheResult, bool, FPipelineStateAsync*, FPSOCompilationDebugData const&, bool)::'lambda'(FPSOPrecacheAsyncTask const*)::operator()(FPSOPrecacheAsyncTask const*) const at /Users/<username>/Perforce/UE5Main/Engine/Source/Runtime/RHI/Private/PipelineStateCache.cpp:3656
#32    0x000000010479e178 in Invoke<void InternalAsyncCompilePipelineState<FCompileGraphicsPipelineStateTask, FGraphicsPipelineStateInitializer>(FGraphicsPipelineStateInitializer const&, EPSOPrecacheResult, bool, FPipelineStateAsync*, FPSOCompilationDebugData const&, bool)::'lambda'(FPSOPrecacheAsyncTask const*)&, FPSOPrecacheAsyncTask const*> at /Users/stephane.jacoby/Perforce/UE5Main/Engine/Source/Runtime/Core/Public/Templates/Invoke.h:47
#33    0x000000010479defc in UE::Core::Private::Function::TFunctionRefCaller<void InternalAsyncCompilePipelineState<FCompileGraphicsPipelineStateTask, FGraphicsPipelineStateInitializer>(FGraphicsPipelineStateInitializer const&, EPSOPrecacheResult, bool, FPipelineStateAsync*, FPSOCompilationDebugData const&, bool)::'lambda'(FPSOPrecacheAsyncTask const*), void, FPSOPrecacheAsyncTask const*>::Call at /Users/<username>/Perforce/UE5Main/Engine/Source/Runtime/Core/Public/Templates/Function.h:292
#34    0x000000010479aac0 in UE::Core::Private::Function::TFunctionRefBase<UE::Core::Private::Function::TFunctionStorage<true>, void (FPSOPrecacheAsyncTask const*)>::operator() at /Users/<username>/Perforce/UE5Main/Engine/Source/Runtime/Core/Public/Templates/Function.h:414
#35    0x000000010479a754 in FPSOPrecacheAsyncTask::DoTaskWork at /Users/<username>/Perforce/UE5Main/Engine/Source/Runtime/RHI/Private/PipelineStateCache.cpp:690
#36    0x0000000103312034 in FAsyncTaskBase::DoWork at /Users/<username>/Perforce/UE5Main/Engine/Source/Runtime/Core/Public/Async/AsyncWork.h:288
#37    0x00000001033141f0 in FAsyncTaskBase::DoThreadedWork at /Users/<username>/Perforce/UE5Main/Engine/Source/Runtime/Core/Public/Async/AsyncWork.h:312
#38    0x00000001033fd168 in FQueuedThread::Run at /Users/<username>/Perforce/UE5Main/Engine/Source/Runtime/Core/Private/HAL/ThreadingBase.cpp:1469
#39    0x00000001033f7810 in FRunnableThreadPThread::Run at /Users/s<username>/Perforce/UE5Main/Engine/Source/Runtime/Core/Private/HAL/PThreadRunnableThread.cpp:25
#40    0x000000010331b9c0 in FRunnableThreadPThread::_ThreadProc at /Users/<username>/Perforce/UE5Main/Engine/Source/Runtime/Core/Private/HAL/PThreadRunnableThread.h:187

This is likely a bug in Apple's Metal Toolchain and should be discussed with Apple.

Steps to Reproduce

Run any template on an iOs 16 devices building against Xcode 16.4, 26.0 or 26.0.1.

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-333130 in the post.

0
Login to Vote

Unresolved
ComponentUE - Platform - Apple
Affects Versions5.7
CreatedSep 23, 2025
UpdatedNov 25, 2025
View Jira Issue