Repository navigation
Timing issue in Unity Editor #85
Copy link
Copy link
Open
Labels
bugSomething isn't workingSomething isn't working
Milestone
Description
Steps to reproduce:
- Import the latest MRTK Foundation package, 2.2
- Observe the error
Andrei Borodin (@andreiborodin)
NullReferenceException: Object reference not set to an instance of an object
UnityEngine.Experimental.UIElements.StyleSheets.StyleSelectorHelper.FastLookup (System.Collections.Generic.IDictionary`2[TKey,TValue] table, System.Collections.Generic.List`1[T] matchedSelectors, UnityEngine.Experimental.UIElements.StyleMatchingContext context, System.String input, UnityEngine.Experimental.UIElements.StyleSheets.SelectorMatchRecord& record) (at C:/buildslave/unity/build/Modules/UIElements/StyleSheets/StyleSelectorHelper.cs:193)
UnityEngine.Experimental.UIElements.StyleSheets.StyleSelectorHelper.FindMatches (UnityEngine.Experimental.UIElements.StyleMatchingContext context, System.Collections.Generic.List`1[T] matchedSelectors) (at C:/buildslave/unity/build/Modules/UIElements/StyleSheets/StyleSelectorHelper.cs:220)
UnityEngine.Experimental.UIElements.VisualTreeStyleUpdaterTraversal.TraverseRecursive (UnityEngine.Experimental.UIElements.VisualElement element, System.Int32 depth) (at C:/buildslave/unity/build/Modules/UIElements/VisualTreeStyleUpdater.cs:218)
UnityEngine.Experimental.UIElements.StyleSheets.HierarchyTraversal.Recurse (UnityEngine.Experimental.UIElements.VisualElement element, System.Int32 depth) (at C:/buildslave/unity/build/Modules/UIElements/HierarchyTraversal.cs:25)
UnityEngine.Experimental.UIElements.VisualTreeStyleUpdaterTraversal.TraverseRecursive (UnityEngine.Experimental.UIElements.VisualElement element, System.Int32 depth) (at C:/buildslave/unity/build/Modules/UIElements/VisualTreeStyleUpdater.cs:227)
UnityEngine.Experimental.UIElements.StyleSheets.HierarchyTraversal.Traverse (UnityEngine.Experimental.UIElements.VisualElement element) (at C:/buildslave/unity/build/Modules/UIElements/HierarchyTraversal.cs:12)
UnityEngine.Experimental.UIElements.VisualTreeStyleUpdater.ApplyStyles () (at C:/buildslave/unity/build/Modules/UIElements/VisualTreeStyleUpdater.cs:110)
UnityEngine.Experimental.UIElements.VisualTreeStyleUpdater.Update () (at C:/buildslave/unity/build/Modules/UIElements/VisualTreeStyleUpdater.cs:93)
UnityEngine.Experimental.UIElements.VisualTreeUpdater.UpdateVisualTree () (at C:/buildslave/unity/build/Modules/UIElements/VisualTreeUpdater.cs:70)
UnityEngine.Experimental.UIElements.Panel.Repaint (UnityEngine.Event e) (at C:/buildslave/unity/build/Modules/UIElements/Panel.cs:507)
UnityEngine.Experimental.UIElements.UIElementsUtility.DoDispatch (UnityEngine.Experimental.UIElements.BaseVisualElementPanel panel) (at C:/buildslave/unity/build/Modules/UIElements/UIElementsUtility.cs:230)
UnityEngine.Experimental.UIElements.UIElementsUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at C:/buildslave/unity/build/Modules/UIElements/UIElementsUtility.cs:68)
UnityEngine.GUIUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at C:/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:179)
UnityEditor.EditorUtility:DisplayCancelableProgressBar(String, String, Single)
Microsoft.Build.Unity.<>c__DisplayClass9_0:<BuildProjects>g__DisplayProgress|2(String, Single) (at Library/PackageCache/com.microsoft.msbuildforunity@0.8.3/Editor/ProjectBuilder/MSBuildProjectBuilder.cs:207)
Microsoft.Build.Unity.MSBuildProjectBuilder:BuildProjects(IReadOnlyCollection`1, String, String) (at Library/PackageCache/com.microsoft.msbuildforunity@0.8.3/Editor/ProjectBuilder/MSBuildProjectBuilder.cs:171)
Microsoft.Build.Unity.MSBuildProjectBuilder:BuildAllProjects(String, String) (at Library/PackageCache/com.microsoft.msbuildforunity@0.8.3/Editor/ProjectBuilder/MSBuildProjectBuilder.cs:121)
Microsoft.Build.Unity.MSBuildProjectBuilder:TryBuildAllProjects(String, String) (at Library/PackageCache/com.microsoft.msbuildforunity@0.8.3/Editor/ProjectBuilder/MSBuildProjectBuilderEditor.cs:30)
Microsoft.Build.Unity.ProjectGeneration.MSBuildTools:RefreshGeneratedOutput(Boolean) (at Library/PackageCache/com.microsoft.msbuildforunity@0.8.3/Editor/ProjectGenerator/Scripts/MSBuildTools.cs:177)
Microsoft.Build.Unity.ProjectGeneration.MSBuildTools:.cctor() (at Library/PackageCache/com.microsoft.msbuildforunity@0.8.3/Editor/ProjectGenerator/Scripts/MSBuildTools.cs:155)
UnityEditor.EditorAssemblies:ProcessInitializeOnLoadAttributes()
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working
Activity
andreiborodin commentedon Dec 11, 2019
This issue is primarily due to MSBuildTools class (part of project generation) immediately kicking off generation on [InitializeOnLoad], which kicks of Build and DisplayCancelableProgressBar. The problem, however, Unity editor apparently didn't get a chance to recover from reload and doesn't have some of it's items initialized.