Search Issue Tracker
Fixed
Fixed in 2023.2.0b8, 2023.3.0a1
Votes
0
Found in
2023.2.0a20
2023.3.0a1
Issue ID
UUM-41334
Regression
Yes
VFX gets corrupted when trying to replace existing graph during save
How to reproduce:
# Import the attached pacakge
# Open Disco Scene from Repro folder
# In Assets folder, create a new vfx graph (named New VFX)
# Open New VFX from Assets folder
# Open Open VFX'sie vfx from Repro folder
# Make sure that opened graphs are placed side by side
# In project browser, delete VFX'sie
# in VFX 'No Asset' window, select Create new Visual Effect Graph
# When Save as window pops up save it with New VFX name and agree to replace existing asset
#
h4. Try opening New VFX from project browser, you should get this error
# {color:#FF0000}Exception thrown while invoking [OnOpenAssetAttribute] method 'VisualEffectAssetEditor:OnOpenVFX (int,int)' : NullReferenceException: VFXMemorySerializer::StoreObject failure{color}
Actual result: VFX Graph is corrupted and errors are thrown
Note: No repro on 2022.3, haven't checked 2023.1
Error logs:
NullReferenceException: VFXMemorySerializer::StoreObject failure.
UnityEditor.VFX.VFXMemorySerializer.StoreObjectsToByteArray (UnityEngine.ScriptableObject[] objects, UnityEngine.CompressionLevel compressionLevel) (at <4e8f4f133ae54971a121c59a7ef6acae>:0)
UnityEditor.VFX.VFXGraphPreprocessor.OnCompileResource (UnityEditor.VFX.VisualEffectResource resource) (at C:/Users/vitaskruibyte/Documents/unity/packages/com.unity.visualeffectgraph/Editor/Models/VFXGraph.cs:126)
UnityEditor.VFX.VisualEffectResource.CompileResource () (at <4e8f4f133ae54971a121c59a7ef6acae>:0)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)
InvalidOperationException: Sequence contains more than one matching element
System.Linq.Enumerable.SingleOrDefault[TSource] (System.Collections.Generic.IEnumerable`1[T] source, System.Func`2[T,TResult] predicate) (at <418ca55feb5e4d8a82dd99e6126f4b88>:0)
UnityEditor.VFX.UI.VFXViewWindow.GetWindowLambda (System.Func`2[T,TResult] func, System.Boolean createIfNeeded, System.Boolean show)
Exception thrown while invoking [OnOpenAssetAttribute] method 'VisualEffectAssetEditor:OnOpenVFX (int,int)' : NullReferenceException: VFXMemorySerializer::StoreObject failure.
UnityEditor.VFX.VFXMemorySerializer.StoreObjectsToByteArray (UnityEngine.ScriptableObject[] objects, UnityEngine.CompressionLevel compressionLevel) (at <4e8f4f133ae54971a121c59a7ef6acae>:0)
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- PlayerPrefs get corrupted when a minimized fullscreen Player is closed through the Taskbar
- "To Debug, run app with -diag-job-temp-memory-leak-validation cmd line argument. This will output the callstacks of the leaked allocations." warning is printed when JobTempMemoryLeakValidation switch is enabled
- Main Thread stalling when loading Audio Source asset asynchronously while preloading another Audio Source asset
- Material artifacts occur in the Material Preview window when baked lighting is applied to scenes
- “ArgumentOutOfRangeException” after saving, reseting and re-add Default Tile Palette Tools to the list in Preferences window
Add comment