Reproduction steps:
1. Open the attached project "ReproProject"
2. Open the scene "SampleScene"
3. Select the "ProblemParticle" particle system in the Hierarchy window. (at this point the Editor can already crash)
4. Click restart on the particle system in the Scene view (restart button is located in the bottom right corner of Scene View)
5. Observe the result
Actual result: Editor crashes, Player freezes of an indefinite amount of time
Expected result: The Unity Editor does not crash, Player does not freeze
Reproducible in: 6000.0.42f1
Reproducible on: Windows 11
Not reproducible on: No other environments tested
Workaround: The crash does not occur if the Editor is forced to use DirectX 12, if:
- #pragma enable_d3d11_debug_symbols is added to the target shader (ParticleBase.shader)
- Or if the local packages are refreshed to revert the URP HLSL files back to their default, unmodified state
Notes:
- The crash reproduces only when using DirectX 11 Graphics API
- The issue does not reproducible on newer GPUs, with the exception of a specific older GPU (tested on NVIDIA GeForce GTX 1080, NVIDIA GeForce RTX 4060, NVIDIA GeForce RTX 3080). Succesfully reproduced on NVIDIA GeForce GTX 1650/1650 Ti
- The crash is caused by modifications to URP package HLSL files (Shadows.hlsl, RealtimeLights.hlsl, and SpaceTransforms.hlsl). The user injected custom global variables for Subsurface Scattering and High-Quality Shadows
- No stack trace is available when Editor crashes/Player freezes