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
- "Modifying the parent of a VisualElement while it’s already being modified is not allowed" error is thrown when entering text and pressing tab in the Search window
- Mesh colliders are not updating their positions of bounds correctly
- Images are missing from the "Open the sprite editor" documentation for 6.0, 6.1 and 6.2
- The previous element in the array is modified when assigning an Asset to a new element of AssetReferenceT
- Unity Perforce Integration: VCS Connection Active State Fails via CLI with Valid Inputs
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 += () => {};