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
- Screen Space Ambient Occlusion is ignored when toggling "Post Processing" visibility in the Scene window overlay
- “RenderTexture.Create failed: requested size is too large.” errors are thrown and the Inspector window is black when selecting a CubemapArray texture
- Crash on AMDUnityPlugin.DLL in specific built project when using FSR2 upscaler
- RenderObjects does not have any Depth texture bound when Event is set to AfterRenderingPostProcessing
- Prefab override popup is cropped/positioned incorrectly when more than one display is used and a higher display Scale is set
Add comment