Search Issue Tracker

Postponed means that the issue was either a feature request or something that requires major refactoring on our side. Since that makes the issue not actionable in the close future we choose to close it as Postponed and add it on our internal roadmaps and technical debt pages instead.

Postponed

Votes

0

Found in [Package]

9.0.0, 8.1.0, 8.0.1, 7.3.1, 7.1.8.

Issue ID

1242298

Regression

No

[VFX Graph] NullReferenceException error is thrown on changing properties in ProbabilitySampling preset asset

Package: Visual Effect Graph

-

NullReferenceException error is thrown every time on changing properties in ProbabilitySampling preset asset after resetting.

Steps to repro:
1. Create a new HDRP project
2. Project view > Right-Click > Create > Visual Effects > Visual Effect Graph.
3. Add TerrainType property > Add Node Operator > Logic > Probability Sampling.
4. Select and create it's preset > Reset > Change its property.

Actual Result:
NullReferenceException error is thrown in the console.

Expected Result:
No errors in the console.

Reproducible in:
2020.2.0a9, 2020.1.0b8, 2019.3.0f3 with Package Version 9.0.0, 8.1.0, 8.0.1, 7.3.1, 7.1.8.

Environment:
Occurring on Windows 10 & Mac 10.15.

Stack trace:
NullReferenceException: Object reference not set to an instance of an object
UnityEditor.VFX.VFXTypeExtension.GetDefaultField (System.Type type) (at library/packagecache/com.unity.visualeffectgraph@8.1.0/editor/types/vfxtypeextension.cs:93)
UnityEditor.VFX.VFXOperatorDynamicOperand.GetDefaultValueForType (System.Type type) (at library/packagecache/com.unity.visualeffectgraph@8.1.0/editor/models/operators/vfxabstractoperatornew.cs:79)
UnityEditor.VFX.Operator.ProbabilitySampling+<get_inputProperties>d__16.MoveNext () (at library/packagecache/com.unity.visualeffectgraph@8.1.0/editor/models/operators/implementations/probabilitysampling.cs:83)
System.Collections.Generic.LargeArrayBuilder`1[T].AddRange (System.Collections.Generic.IEnumerable`1[T] items) (at <351e49e2a5bf4fd6beabb458ce2255f3>:0)
System.Collections.Generic.EnumerableHelpers.ToArray[T] (System.Collections.Generic.IEnumerable`1[T] source) (at <351e49e2a5bf4fd6beabb458ce2255f3>:0)
System.Linq.Enumerable.ToArray[TSource] (System.Collections.Generic.IEnumerable`1[T] source) (at <351e49e2a5bf4fd6beabb458ce2255f3>:0)
UnityEditor.VFX.VFXSlotContainerModel`2[ParentType,ChildrenType].SyncSlots (UnityEditor.VFX.VFXSlot+Direction direction, System.Boolean notify) (at library/packagecache/com.unity.visualeffectgraph@8.1.0/editor/models/vfxslotcontainermodel.cs:289)
UnityEditor.VFX.VFXSlotContainerModel`2[ParentType,ChildrenType].ResyncSlots (System.Boolean notify) (at library/packagecache/com.unity.visualeffectgraph@8.1.0/editor/models/vfxslotcontainermodel.cs:236)
UnityEditor.VFX.VFXOperator.ResyncSlots (System.Boolean notify) (at library/packagecache/com.unity.visualeffectgraph@8.1.0/editor/models/operators/vfxoperator.cs:43)
UnityEditor.VFX.VFXSlotContainerModel`2[ParentType,ChildrenType].OnInvalidate (UnityEditor.VFX.VFXModel model, UnityEditor.VFX.VFXModel+InvalidationCause cause) (at library/packagecache/com.unity.visualeffectgraph@8.1.0/editor/models/vfxslotcontainermodel.cs:259)
UnityEditor.VFX.VFXOperator.OnInvalidate (UnityEditor.VFX.VFXModel model, UnityEditor.VFX.VFXModel+InvalidationCause cause) (at library/packagecache/com.unity.visualeffectgraph@8.1.0/editor/models/operators/vfxoperator.cs:87)
UnityEditor.VFX.Operator.ProbabilitySampling.OnInvalidate (UnityEditor.VFX.VFXModel model, UnityEditor.VFX.VFXModel+InvalidationCause cause) (at library/packagecache/com.unity.visualeffectgraph@8.1.0/editor/models/operators/implementations/probabilitysampling.cs:75)
UnityEditor.VFX.VFXModel.Invalidate (UnityEditor.VFX.VFXModel model, UnityEditor.VFX.VFXModel+InvalidationCause cause) (at library/packagecache/com.unity.visualeffectgraph@8.1.0/editor/models/vfxmodel.cs:331)
UnityEditor.VFX.VFXModel.Invalidate (UnityEditor.VFX.VFXModel+InvalidationCause cause) (at library/packagecache/com.unity.visualeffectgraph@8.1.0/editor/models/vfxmodel.cs:321)
VFXSlotContainerEditor.OnInspectorGUI () (at library/packagecache/com.unity.visualeffectgraph@8.1.0/editor/inspector/vfxslotcontainereditor.cs:186)
UnityEditor.Presets.PresetEditor.DrawInternalInspector () (at <5951c2421c324f47883bd5ba8a4bf507>:0)
UnityEditor.Presets.PresetEditor.DrawPresetData () (at <5951c2421c324f47883bd5ba8a4bf507>:0)
UnityEditor.Presets.PresetEditor.OnInspectorGUI () (at <5951c2421c324f47883bd5ba8a4bf507>:0)
UnityEditor.UIElements.InspectorElement+<>c__DisplayClass58_0.<CreateIMGUIInspectorFromEditor>b__0 () (at <5951c2421c324f47883bd5ba8a4bf507>:0)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)

  1. Resolution Note:

    Preset option will be disabled on all the VFX element.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.