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
- “Remove Unused Overrides” available on not loaded Scene and throws “ArgumentException: The scene is not loaded” warning
- Adaptive Probe Volume occlusion edge is calculated incorrectly when viewing probes near geometry edges
- Sampling a texture using an HLSL file throws shader errors and the code does not compile
- "Graphics.CopyTexture called with null source texture" error when Base Camera of an Overlay Camera is removed with DX11 Graphics API and Compatibility Mode enabled
- WebGL sends wrong value with large numbers when SendMessage function is used
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.