Unity-Technologies / BoatAttack

Demo Project using the Universal RP from Unity3D
Other
2.54k stars 954 forks source link

Accessing wave buffer after it has been disposed results in ArgumentNullException #97

Open ffunitysupport opened 4 years ago

ffunitysupport commented 4 years ago

Disabling and then enabling water object (created from Seavisual prefab) causes access to already disposed wave buffer.

ArgumentNullException: Value cannot be null. Parameter name: _unity_self UnityEngine.ComputeBuffer.SetData (System.Array data) (at /Users/builduser/buildslave/unity/build/Runtime/Export/Shaders/ComputeShader.bindings.cs:128) WaterSystem.Water.SetWaves () (at Packages/com.verasl.water-system/Scripts/Water.cs:239) WaterSystem.Water.Init () (at Packages/com.verasl.water-system/Scripts/Water.cs:152) WaterSystem.Water.OnEnable () (at Packages/com.verasl.water-system/Scripts/Water.cs:73) UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr) (at /Users/builduser/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:187)

It can be related to the following case: https://issuetracker.unity3d.com/issues/argumentnullexception-exception-is-thrown-on-unity-self-when-using-serializedobject-dot-targetobject-inside-a-delegate