Search Issue Tracker
Fixed in 5.0.0
Votes
0
Found in [Package]
4.4.0, 4.3.1, 4.2.3, 4.2.1, 4.1.0, 4.0.2
Issue ID
1283067
Regression
No
[ProBuilder] ArgumentNullException on replacing a prefab while exporting it from ProBuilder window
When Prefab GameObject is exported and replaced with existing Prefab Asset then it causes the editor to throw ArgumentNullException, Refer attached video.
Steps to repro:
1. Create a new project.
2. Window > Package Manager > ProBuilder > Install
3. Tools > ProBuilder > ProBuilder window > Create a New Shape
4. Darg and drop "New Shape" to Project window for making a Prefab
5. Select a New Shape Prefab in the Hierarchy window
6. ProBuilder window > Export > Prefab > Save and Replaced existed asset
Actual Result:
ArgumentNullException is thrown when the existing Prefab object is exported, saved, and replaced.
Expected Result:
Prefab asset is exported, saved, and replaced gracefully
Occurring on:
2020.2.0b6, 2020.1.7f1, 2019.4.12f1, 2018.4.27f1
Note: Prefab Export functionality is introduced in the Package version 4.0.2
Package found version: 4.4.0, 4.3.1, 4.2.3, 4.2.1, 4.1.0, 4.0.2
Environment:
Occurring on Windows 10 & macOS 10.15.
Stack trace:
ArgumentNullException: Value cannot be null.
Parameter name: mesh
UnityEditor.ProBuilder.EditorUtility.SynchronizeWithMeshFilter (UnityEngine.ProBuilder.ProBuilderMesh mesh) (at Library/PackageCache/com.unity.probuilder@4.4.0/Editor/EditorCore/EditorUtility.cs:193)
UnityEditor.ProBuilder.Actions.ExportAsset.ExportPrefab (System.String path, UnityEngine.ProBuilder.ProBuilderMesh pb, System.Boolean replaceOriginal, System.Boolean batchExport) (at Library/PackageCache/com.unity.probuilder@4.4.0/Editor/MenuActions/Export/ExportAsset.cs:258)
UnityEditor.ProBuilder.Actions.ExportAsset.ExportPrefab (UnityEngine.ProBuilder.ProBuilderMesh mesh, System.Boolean replaceOriginal) (at Library/PackageCache/com.unity.probuilder@4.4.0/Editor/MenuActions/Export/ExportAsset.cs:159)
UnityEditor.ProBuilder.Actions.ExportAsset.ExportWithFileDialog (System.Collections.Generic.IList`1[T] meshes, UnityEditor.ProBuilder.Actions.ExportAssetOptions options) (at Library/PackageCache/com.unity.probuilder@4.4.0/Editor/MenuActions/Export/ExportAsset.cs:75)
UnityEditor.ProBuilder.Actions.Export.DoAction () (at Library/PackageCache/com.unity.probuilder@4.4.0/Editor/MenuActions/Export/Export.cs:211)
UnityEditor.ProBuilder.Actions.Export.OnSettingsGUI () (at Library/PackageCache/com.unity.probuilder@4.4.0/Editor/MenuActions/Export/Export.cs:124)
UnityEditor.ProBuilder.MenuOption.OnGUI () (at Library/PackageCache/com.unity.probuilder@4.4.0/Editor/EditorCore/MenuOption.cs:78)
UnityEditor.HostView.OldOnGUI () (at <3f87d5057260449492001887e23ef996>:0)
UnityEngine.UIElements.IMGUIContainer.DoOnGUI (UnityEngine.Event evt, UnityEngine.Matrix4x4 parentTransform, UnityEngine.Rect clippingRect, System.Boolean isComputingLayout, UnityEngine.Rect layoutSize, System.Action onGUIHandler, System.Boolean canAffectFocus) (at <17eda2bc62404501b9f55a9eba6f522e>:0)
UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, UnityEngine.Matrix4x4 worldTransform, UnityEngine.Rect clippingRect, System.Action onGUIHandler, System.Boolean canAffectFocus) (at <17eda2bc62404501b9f55a9eba6f522e>:0)
UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, System.Action onGUIHandler, System.Boolean canAffectFocus) (at <17eda2bc62404501b9f55a9eba6f522e>:0)
UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, System.Boolean canAffectFocus) (at <17eda2bc62404501b9f55a9eba6f522e>:0)
UnityEngine.UIElements.IMGUIContainer.SendEventToIMGUIRaw (UnityEngine.UIElements.EventBase evt, System.Boolean canAffectFocus, System.Boolean verifyBounds) (at <17eda2bc62404501b9f55a9eba6f522e>:0)
UnityEngine.UIElements.IMGUIContainer.SendEventToIMGUI (UnityEngine.UIElements.EventBase evt, System.Boolean canAffectFocus, System.Boolean verifyBounds) (at <17eda2bc62404501b9f55a9eba6f522e>:0)
UnityEngine.UIElements.IMGUIContainer.HandleEvent (UnityEngine.UIElements.EventBase evt) (at <17eda2bc62404501b9f55a9eba6f522e>:0)
UnityEngine.UIElements.CallbackEventHandler.HandleEventAtTargetPhase (UnityEngine.UIElements.EventBase evt) (at <17eda2bc62404501b9f55a9eba6f522e>:0)
UnityEngine.UIElements.MouseCaptureDispatchingStrategy.DispatchEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel) (at <17eda2bc62404501b9f55a9eba6f522e>:0)
UnityEngine.UIElements.EventDispatcher.ApplyDispatchingStrategies (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel, System.Boolean imguiEventIsInitiallyUsed) (at <17eda2bc62404501b9f55a9eba6f522e>:0)
UnityEngine.UIElements.EventDispatcher.ProcessEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel) (at <17eda2bc62404501b9f55a9eba6f522e>:0)
UnityEngine.UIElements.EventDispatcher.ProcessEventQueue () (at <17eda2bc62404501b9f55a9eba6f522e>:0)
UnityEngine.UIElements.EventDispatcher.OpenGate () (at <17eda2bc62404501b9f55a9eba6f522e>:0)
UnityEngine.UIElements.EventDispatcherGate.Dispose () (at <17eda2bc62404501b9f55a9eba6f522e>:0)
UnityEngine.UIElements.EventDispatcher.ProcessEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel) (at <17eda2bc62404501b9f55a9eba6f522e>:0)
UnityEngine.UIElements.EventDispatcher.Dispatch (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel, UnityEngine.UIElements.DispatchMode dispatchMode) (at <17eda2bc62404501b9f55a9eba6f522e>:0)
UnityEngine.UIElements.BaseVisualElementPanel.SendEvent (UnityEngine.UIElements.EventBase e, UnityEngine.UIElements.DispatchMode dispatchMode) (at <17eda2bc62404501b9f55a9eba6f522e>:0)
UnityEngine.UIElements.UIElementsUtility.DoDispatch (UnityEngine.UIElements.BaseVisualElementPanel panel) (at <17eda2bc62404501b9f55a9eba6f522e>:0)
UnityEngine.UIElements.UIElementsUtility.UnityEngine.UIElements.IUIElementsUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& eventHandled) (at <17eda2bc62404501b9f55a9eba6f522e>:0)
UnityEngine.UIElements.UIEventRegistration.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at <17eda2bc62404501b9f55a9eba6f522e>:0)
UnityEngine.UIElements.UIEventRegistration+<>c.<.cctor>b__1_2 (System.Int32 i, System.IntPtr ptr) (at <17eda2bc62404501b9f55a9eba6f522e>:0)
UnityEngine.GUIUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& result) (at <931b26b61f444e3485195721b0227b20>:0)
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
- var VisionOSEDRHeadromm has a comma instead of a dot when building with Metal Rendering App Mode and local OS localization is set to German
- IAP Catalog remove product “x” and add product “+” buttons are not consistent with other remove and add buttons in the Editor
- Performance issues in Play Mode when quickly hovering the mouse cursor over Hierarchy GameObjects
- Frame Debugger displays incorrect output when FidelityFX Super Resolution or Spatial-Temporal Upscaler is used with Temporal Anti-aliasing or Subpixel Morphological Anti-aliasing
- Crash with “Fatal Error! The file ‘MemoryStream’ is corrupted!” when adding a large number in Font Character Rects Size field
Resolution Note (fix version 5.0.0):
https://github.com/Unity-Technologies/com.unity.probuilder/pull/344