Search Issue Tracker
Fixed in 10.2.0
Votes
0
Found in [Package]
10.1.0, 8.2.0
Issue ID
1287257
Regression
No
[HDRP] Exception thrown when Undo and Redo operation is performed with the duplicate environment under "Environment Library
When Undo and Redo operation is performed with the duplicated empty environment under "Environment Library" causes the editor to throw NullReferenceException and ArgumentException in the Console, Refer attached video
Steps to repro:
1. Create a new project with HDRP Template
2. Window > Render Pipeline > Look Dev
3. Select the "Environment" tab > New Library > Load Library
4. Add new empty environment (+)
5. Duplicate environment currently selected
6. Edit > Undo Duplicate Environment > Undo Add Environment
7. Edit > Redo Create Object > Redo Create Object
Actual Result:
Exception is thrown when Undo and Redo operation is performed with the duplicate empty environment in the Look Dev window
Expected Result:
Undo and Redo operation is performed gracefully
Note: Undo and Redo operation functionality for Empty Environment under Environment Library is introduced in package version 8.2.0
Reproducible in:
2020.2.0b9, 2020.1.11f1 with package version 10.1.0, 10.0.0-preview.27, 9.0.0-preview.54, 8.2.0
Environment:
Windows 10 and macOS 10.15
Stack trace:
NullReferenceException: Object reference not set to an instance of an object
UnityEditor.Rendering.LookDev.EnvironmentElement.GetLatLongThumbnailTexture (UnityEditor.Rendering.LookDev.Environment environment, System.Int32 width) (at Library/PackageCache/com.unity.render-pipelines.core@10.1.0/Editor/LookDev/Environment.cs:310)
UnityEditor.Rendering.LookDev.DisplayWindow+<>c.<CreateEnvironment>b__39_2 (UnityEngine.UIElements.VisualElement e, System.Int32 i) (at Library/PackageCache/com.unity.render-pipelines.core@10.1.0/Editor/LookDev/DisplayWindow.EnvironmentLibrarySidePanel.cs:90)
UnityEngine.UIElements.ListView.Setup (UnityEngine.UIElements.ListView+RecycledItem recycledItem, System.Int32 newIndex) (at <519636828bf44b44aa4c317f8b947afe>:0)
UnityEngine.UIElements.ListView.ResizeHeight (System.Single height) (at <519636828bf44b44aa4c317f8b947afe>:0)
UnityEngine.UIElements.ListView.Refresh () (at <519636828bf44b44aa4c317f8b947afe>:0)
UnityEngine.UIElements.ListView.set_itemsSource (System.Collections.IList value) (at <519636828bf44b44aa4c317f8b947afe>:0)
UnityEditor.Rendering.LookDev.DisplayWindow.RefreshLibraryDisplay () (at Library/PackageCache/com.unity.render-pipelines.core@10.1.0/Editor/LookDev/DisplayWindow.EnvironmentLibrarySidePanel.cs:273)
UnityEditor.Rendering.LookDev.DisplayWindow.UnityEditor.Rendering.LookDev.IEnvironmentDisplayer.Repaint () (at Library/PackageCache/com.unity.render-pipelines.core@10.1.0/Editor/LookDev/DisplayWindow.EnvironmentLibrarySidePanel.cs:436)
UnityEditor.Rendering.LookDev.DisplayWindow.FullRefreshEnvironmentList () (at Library/PackageCache/com.unity.render-pipelines.core@10.1.0/Editor/LookDev/DisplayWindow.EnvironmentLibrarySidePanel.cs:479)
UnityEditor.Undo.Internal_CallUndoRedoPerformed () (at <27ac941b3da34983800e9a41b73eceef>:0)
ArgumentException: VisualElements are not siblings
UnityEngine.UIElements.VisualElement.PlaceBehind (UnityEngine.UIElements.VisualElement sibling) (at <519636828bf44b44aa4c317f8b947afe>:0)
UnityEngine.UIElements.ListView.Setup (UnityEngine.UIElements.ListView+RecycledItem recycledItem, System.Int32 newIndex) (at <519636828bf44b44aa4c317f8b947afe>:0)
UnityEngine.UIElements.ListView.ResizeHeight (System.Single height) (at <519636828bf44b44aa4c317f8b947afe>:0)
UnityEngine.UIElements.ListView.OnSizeChanged (UnityEngine.UIElements.GeometryChangedEvent evt) (at <519636828bf44b44aa4c317f8b947afe>:0)
UnityEngine.UIElements.EventCallbackFunctor`1[TEventType].Invoke (UnityEngine.UIElements.EventBase evt) (at <519636828bf44b44aa4c317f8b947afe>:0)
UnityEngine.UIElements.EventCallbackRegistry.InvokeCallbacks (UnityEngine.UIElements.EventBase evt) (at <519636828bf44b44aa4c317f8b947afe>:0)
UnityEngine.UIElements.CallbackEventHandler.HandleEvent (UnityEngine.UIElements.EventBase evt) (at <519636828bf44b44aa4c317f8b947afe>:0)
UnityEngine.UIElements.CallbackEventHandler.HandleEventAtTargetPhase (UnityEngine.UIElements.EventBase evt) (at <519636828bf44b44aa4c317f8b947afe>:0)
UnityEngine.UIElements.EventDispatchUtilities.PropagateEvent (UnityEngine.UIElements.EventBase evt) (at <519636828bf44b44aa4c317f8b947afe>:0)
UnityEngine.UIElements.DefaultDispatchingStrategy.DispatchEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel) (at <519636828bf44b44aa4c317f8b947afe>:0)
UnityEngine.UIElements.EventDispatcher.ApplyDispatchingStrategies (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel, System.Boolean imguiEventIsInitiallyUsed) (at <519636828bf44b44aa4c317f8b947afe>:0)
UnityEngine.UIElements.EventDispatcher.ProcessEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel) (at <519636828bf44b44aa4c317f8b947afe>:0)
UnityEngine.UIElements.EventDispatcher.ProcessEventQueue () (at <519636828bf44b44aa4c317f8b947afe>:0)
UnityEngine.UIElements.EventDispatcher.OpenGate () (at <519636828bf44b44aa4c317f8b947afe>:0)
UnityEngine.UIElements.EventDispatcherGate.Dispose () (at <519636828bf44b44aa4c317f8b947afe>:0)
UnityEngine.UIElements.UIRLayoutUpdater.Update () (at <519636828bf44b44aa4c317f8b947afe>:0)
UnityEngine.UIElements.VisualTreeUpdater.UpdateVisualTreePhase (UnityEngine.UIElements.VisualTreeUpdatePhase phase) (at <519636828bf44b44aa4c317f8b947afe>:0)
UnityEngine.UIElements.Panel.ValidateLayout () (at <519636828bf44b44aa4c317f8b947afe>:0)
UnityEngine.UIElements.UIElementsUtility.DoDispatch (UnityEngine.UIElements.BaseVisualElementPanel panel) (at <519636828bf44b44aa4c317f8b947afe>:0)
UnityEngine.UIElements.UIElementsUtility.UnityEngine.UIElements.IUIElementsUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& eventHandled) (at <519636828bf44b44aa4c317f8b947afe>:0)
UnityEngine.UIElements.UIEventRegistration.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at <519636828bf44b44aa4c317f8b947afe>:0)
UnityEngine.UIElements.UIEventRegistration+<>c.<.cctor>b__1_2 (System.Int32 i, System.IntPtr ptr) (at <519636828bf44b44aa4c317f8b947afe>:0)
UnityEngine.GUIUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& result) (at <931b26b61f444e3485195721b0227b20>:0)
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- [UI Builder] Viewport's gizmos for Margin and Padding disappear when dragging to modify the value and the cursor leaves the Spacing section
- "Multiplayer Center" window does not reflect changes made in "Other Packages" section
- Crash on D3DKMTOpenResource when capturing with RenderDoc while GPU Skinning is set to GPU(Batched)
- Editing and saving Curve changes in UI Builder window throws multiple errors in the Console
- [UI Builder] Value is not selected when left clicking on Spacing/Border Widget values
Add comment