Search Issue Tracker

Won't Fix

Votes

1

Found in

5.6.0f3

Issue ID

905150

Regression

No

Editing ScriptableObject externally, its reference in the Editor becomes destroyed

Scripting

-

In the editor, after you change a ScriptableObject externally and the changes are imported, other ScriptableObjects will retain a destroyed reference to that object.

To reproduce:
1. Download attached project "LoadAssetAtPath.zip" and open in Unity
2. Run the menu command TEST/TEST LOAD ASSETS PATH
Note: This looks at the fields of TestObject and determines whether its references ReferenceA and ReferenceB point to destroyed references.
It prints out in Console several messages:

"TestObject is assigned and the reference is alive"
"TestObject.ReferenceA is assigned and the reference is alive"
"TestObject.ReferenceB is assigned and the reference is alive"

3. Open ReferencedObjectB directly in a text editor, change the value of IntegerField to some integer and save it
4. Go back to Unity and run the menu command TEST/TEST LOAD ASSETS PATH

Expected result: In Console it will print same messages as before
Actual result: In Console it will print these messages:

"TestObject is assigned and the reference is alive"
"TestObject.ReferenceA is assigned and the reference is alive"
"TestObject.ReferenceB is assigned but the reference is destroyed"

Note: If you reimport all files, then the problem goes away

Reproduced on Unity 5.5.3p2, 5.6.0p3 and 2017.1.0b2

  1. Resolution Note:

    This particular case has been investigated thoroughly and we have decided, in the interests of protecting the stability and features of Unity for users that rely upon the affected versions, to not address this issue.

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.