Search Issue Tracker
Fixed in 2020.1.X
Votes
0
Found in
2019.2.0a7
2019.2.10f1
2019.3
2020.1
Issue ID
1193566
Regression
Yes
Clicking on the Layouts button causes "Menu Window/Layouts couldn't be found" error with specific scripts in the project
Reproduction steps:
1. Open "LayoutButtonBug" project
2. Click on the "Layout" button
Expected Result: Layout drop-down appears
Actual Result: "Menu Window/Layouts couldn't be found"
Reproduced with: 2020.1.0a9, 2019.3.0b8, 2019.2.10f1, 2019.2.0b1, 2019.2.0a7
Did not reproduce on: 2019.2.0a6, 2019.2.0a1, 2019.1.14f1, 2018.4.12f1, 2017.4.33f1
Comments (2)
-
unity_4tsblackcat
Sep 16, 2022 19:43
Regression on 2022.1.15f1 after having to reinstall the editor, and resolving TxtMesh Pro packages. Search for 'EditorApplication.delayCall' assignments turned up nothing in the Assets folder.
-
Renea
Apr 28, 2020 20:01
What script does that change need to be made in. I did a search on my whole solution and didn't find that line.
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 (fix version 2020.1):
The reason for the issue is because the code was incorrectly assigning a lambda function to "EditorApplication.delayCall", which was messing all our internal uses and preventing the Layouts menu to be properly populated.
What the fix does is change the type of "EditorApplication.delayCall" from "delegate" to the more appropriate type "event". This prevents users from incorrectly assigning directly to it. So the user will have to change his code from:
EditorApplication.delayCall = () => {};
to
EditorApplication.delayCall += () => {};