Unity 6 WIndows Build Crash on UnityPlayer.dll

Hello Unity community,

After upgrading to Unity 6, I have encountered a crash in the windows build. The issue not appear in development builds and with C++ Compiler Configuration Debug or Master

Crash Message:

Unhandled exception at 0x00007FF8B3941277 (UnityPlayer.dll) in crash.dmp: 0xC0000005: Access violation reading location 0x00007FF9B5278AC4.

Crash Call Stack:

	UnityPlayer.dll!GfxDeviceD3D11Base::SetupDeferredRasterState(void)	Unknown
 	UnityPlayer.dll!GfxDeviceD3D11Base::BeforeDrawCall(void)	Unknown
 	UnityPlayer.dll!GfxDeviceD3D11Base::DrawBuffers(class GfxBuffer *,unsigned int,class GfxBuffer * const *,unsigned int const *,int,struct DrawBuffersRange const *,int,class VertexDeclaration *)	Unknown
 	UnityPlayer.dll!GfxDeviceWorker::RunCommand(class ThreadedStreamBuffer &)	Unknown
 	UnityPlayer.dll!GfxDeviceWorker::RunCommand(class ThreadedStreamBuffer &)	Unknown
 	UnityPlayer.dll!GfxDeviceWorker::RunExt(class ThreadedStreamBuffer &)	Unknown
 	UnityPlayer.dll!GfxDeviceWorker::RunGfxDeviceWorker(void *)	Unknown
 	UnityPlayer.dll!Thread::RunThreadWrapper(void *)	Unknown
 	kernel32.dll!00007ff991c1259d()	Unknown
 	ntdll.dll!00007ff992b6af38()	Unknown

Please check crash dump file.
Crash_2024-11-25_161604324.zip (61.7 KB)

Context:

  • Unity 6
  • Graphics API: Direct3D 11
  • Backend: IL2CPP
  • Render Pipeline: Forward Render Pass
  • C++ Compiler Configuration: Release

Has anyone else encountered similar crashes in Unity 6 builds? Are there any known fixes, workarounds, or additional steps I can take to debug the issue?

Thank you for your time and support!

Direct3D 12 has crash in the same place, but log looks different

Crash Message:

Unhandled exception at 0x00007FF8A4772461 (UnityPlayer.dll) in crash.dmp: 0xC0000005: Access violation reading location 0x00007FF9A6048B24.

Crash Call Stack:

	UnityPlayer.dll!D3D12DeviceState::ConvertPipelineKeyToDesc(struct D3D12PipelineKey const &,struct D3D12_GRAPHICS_PIPELINE_STATE_DESC &)	Unknown
 	UnityPlayer.dll!PipelineUtilities::CreateGraphicsPipelineState(struct D3D12PipelineKey const &)	Unknown
 	UnityPlayer.dll!ConcurrentCache<struct D3D12PipelineKey,struct ID3D12PipelineState *,struct D3D12PipelineKeyHasher,struct D3D12PipelineKeyComparer>::FindOrInsert<struct ID3D12PipelineState * (*)(struct D3D12PipelineKey const &)>(struct D3D12PipelineKey const &,struct ID3D12PipelineState * (*)(struct D3D12PipelineKey const &))	Unknown
 	UnityPlayer.dll!D3D12DeviceState::Transition(class D3D12CommandListWithState *,struct D3D12DeviceState const &,struct D3D12Resources const *,bool &,bool)	Unknown
 	UnityPlayer.dll!GfxDeviceD3D12Base::DrawBuffersCommon(class GfxBuffer *,unsigned int,class GfxBuffer * const *,unsigned int const *,int,bool)	Unknown
 	UnityPlayer.dll!GfxDeviceD3D12Base::DrawBufferRanges(class GfxBuffer *,unsigned int,class GfxBuffer * const *,unsigned int const *,int,struct DrawBuffersRange const *,int,class VertexDeclaration *,int)	Unknown
 	UnityPlayer.dll!GfxDeviceD3D12Base::DrawBuffers(class GfxBuffer *,unsigned int,class GfxBuffer * const *,unsigned int const *,int,struct DrawBuffersRange const *,int,class VertexDeclaration *)	Unknown
 	UnityPlayer.dll!GfxDeviceWorker::RunCommand(class ThreadedStreamBuffer &)	Unknown
 	UnityPlayer.dll!ExecuteAsyncJobSetup12()	Unknown
 	UnityPlayer.dll!ujob_execute_job()	Unknown
 	UnityPlayer.dll!lane_guts()	Unknown
 	UnityPlayer.dll!worker_thread_routine()	Unknown
 	UnityPlayer.dll!Thread::RunThreadWrapper(void *)	Unknown
 	kernel32.dll!00007ff991c1259d()	Unknown
 	ntdll.dll!00007ff992b6af38()	Unknown

Please check crash dump file.
Crash_2024-11-25_184144402.zip (64.9 KB)