Search Issue Tracker
Fixed in 2020.1.X
Fixed in 2019.2.X, 2019.3.X
Votes
14
Found in
2018.3.0b7
Issue ID
1094991
Regression
Yes
Editor is lagging when modifying material properties
How to reproduce:
1. Open attached "ForgottenPlayhouse" project
2. Select "cardboardwall1" material under Assets/Materials/Cardboard/CardboardWall1
3. In Inspector change color of the material
Expected result: Color(or any other property) is changed instantly and Editor does not lag
Actual result: Editor is lagging after every property change
Reproduced with: 2018.3.0b7, 2019.1.0a10
Does not reproduce with: 2018.3.0b6 (performance is only barely slower), 2018.2.17f1 and lower (performance is as expected)
Notes: Changing the Shader from HDRP to any other still reproduces the issue.
Comments (7)
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- [Linux] “ReleaseButton expects buttonId >= 0” error is thrown when importing Assets via drag and drop
- [Linux] Numeric field value stops increasing when cursor reaches the edge of the monitor while dragging
- Asset gets unselected and added Subgraphs list item is not undone when performing Undo in Heatmap with Default Values asset Inspector
- "Add Component" button overlaps the Volume component UI when creating a new Volume Profile in a wide Inspector on high-DPI scaling
- Black square “shadow” artifacts visible when using Screen Space Reflections without maximum smoothing
Peter77
Sep 05, 2019 16:28
Related forum post:
https://forum.unity.com/threads/case-1094991-bump-custom-shader-gui-makes-scene-editing-impossible.738944/
julian-moschuering
Sep 03, 2019 09:50
Or just cache it. I hacked around this by skipping CreateCustomShaderEditor and replacing it with a cached one.
JohnPontoco
Jun 21, 2019 16:28
The cause of this bug is that the ShaderGUIUtility.ExtractCustomEditorType() function is looping through all types in the loaded assemblies, even though it's only looking for a specific type name.
Fix: Swap this loop with Assembly.GetType() which is O(1) for a given type name.