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
- Texture2D hash changes inside of an AssetBundle when rebuilding a SpriteAtlas bundle with an empty AssetPostprocessor Script enabled
- Aniso Level still applies when Generate MipMap is disabled in Texture Import Settings
- Mipmap Limit Groups long names are not truncated when creating a new Mipmap Limit Group with a long name
- “ArgumentException: Invalid double parameter.” error is thrown when Infinity is typed into the Fixed Timestep field
- GameObject becomes gray when using HDRP and STP together on macOS
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 += () => {};