Not signed in
Copyright © 2026 Unity Technologies
The root cause of this crash seems to be that the Better Shaders package does not support Forward+. When Forward+ is enabled, URP supplies the lighting data to the shader in the format expected by Forward+, but the shader expects data in a completely different format and unluckily misbehaves badly enough to crash. Unfortunately, due to how Forward+ is implemented as a multi_compile keyword, Unity is currently unable to issue an error message in this situation. It seems that manually adding #pragma multi_compile _ _FORWARD_PLUS to the Better Shaders shaders fixes the issue, but since it's a third party package, this fix needs to be either done by the package author or the user of the package.
Cancelling this 2023.2 tech release issue since the support for this release has come to end of life. Cancelling this 2023.2 port case does not affect any LTS or Unity 6 Beta/Preview that remain open.
The root cause of this crash seems to be that the Better Shaders package does not support Forward+. When Forward+ is enabled, URP supplies the lighting data to the shader in the format expected by Forward+, but the shader expects data in a completely different format and unluckily misbehaves badly enough to crash. Unfortunately, due to how Forward+ is implemented as a multi_compile keyword, Unity is currently unable to issue an error message in this situation. It seems that manually adding #pragma multi_compile _ _FORWARD_PLUS to the Better Shaders shaders fixes the issue, but since it's a third party package, this fix needs to be either done by the package author or the user of the package.
Reproduction steps:
1. Open the attached “repro-project“
2. Open the “Packages/com.jbooth.better-shaders/Samples/Scene.unity“ scene
3. In the Project window select the “Assets/Settings/Renderer3D.asset“ Universal Renderer Data asset
4. In the Inspector switch the Rendering Path from Forward to Forward+
Alternatively:
1. Create a new 3D (URP) project
2. Download and import the Better Shaders asset from https://assetstore.unity.com/packages/tools/visual-scripting/better-shaders-standard-urp-hdrp-187838
3. Open the “Packages/com.jbooth.better-shaders/Samples/Scene.unity“ scene
4. In the Project window select the “Assets/Settings/URP-HighFidelity-Renderer.asset“ Universal Renderer Data asset
5. In the Inspector switch the Rendering Path from Forward to Forward+
Expected result: The Editor recompiles shaders and switches to the Forward+ Rendering Path without crashing
Actual result: The Editor crashes during the recompilation of shaders
Reproducible with: 2022.3.14f1, 2023.2.2f1, 2023.3.0a16
Could not test with: 2021.3.33f1 (no “Forward+“ Rendering Path option)
Reproduced on: Windows 10
Not reproducible on: No other environment tested
First few lines of the stack trace:
0x00007FF684CAD625 (Unity) D3D12Fence::Wait
0x00007FF684CDBC31 (Unity) GfxDeviceD3D12::QueuePresent
0x00007FF684C96949 (Unity) D3D12Window::EndRendering
0x00007FF686310535 (Unity) GfxDeviceWorker::RunCommand
0x00007FF68631249B (Unity) GfxDeviceWorker::RunExt
Sign in to see your voted issues