Search Issue Tracker
By Design
By Design in 2023.2.X
Votes
0
Found in
2022.3.2f1
2023.1.0f1
2023.2.0a18
Issue ID
UUM-39959
Regression
No
Custom editors are recreated when assigning a material to a GameObject
Reproduction steps:
1. Open project “Bug Test 2.zip”
2. Open scene “Test”
3. Select “Cube” GameObject in the Hierarchy
Expected result: only one “Hello i am a new editor” message is printed in the Console
Actual result: “Hello i am a new editor” messages are flooded in the Console - when a custom editor assigns a material to an object it is constantly remade
Reproducible with: 2022.3.2f1, 2023.1.0f1, 2023.2.0a18
Couldn’t test with: 2021.3.27f1 (due to compiler errors)
Reproducible on: macOS Ventura 13.2.1 (Intel), Windows 10 (by the reporter)
Note: Commenting out line 18 in “NewBehaviourScript.cs” gives expected results
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
- Out-of-bounds memory access with multiple CanvasRenderers under a Canvas when using Mesh API
- Inspector tries to access file after it was deleted when the file was locked in Inspector window
- Changing Transform values in Search window Inspector loses focus while dragging and stopping mouse without releasing dragging action
- Saving changes on the dirty VFX Graph during the Play mode throws "The referenced script (Unknown) on this Behaviour is missing!" warnings
- VFX Graph Debug Info overlaps the "Initialize" block debug info by default
Resolution Note:
Editors are currently recreated when the inspected object is marked as dirty. Changing the material of an object will cause the object to dirty itself and may trigger the construction of a new editor.
Unity will recycle the editors to some extent, but there's no guarantee that the same instance will be used for a particular object.
Resolution Note (2023.2.X):
Editors are currently recreated when the inspected object is marked as dirty. Changing the material of an object will cause the object to dirty itself and may trigger the construction of a new editor.
Unity will recycle the editors to some extent, but there's no guarantee that the same instance will be used for a particular object.