Search Issue Tracker
By Design
Votes
0
Found in
2017.4
2019.3.0f6
2020.2
Issue ID
1216097
Regression
No
ArgumentNullException exception is thrown on _unity_self when using SerializedObject.targetObject inside a delegate
Reproduction steps:
1. Open the attached project ("case_1216097-PropDrawer.zip")
2. Open the repro scene ("SampleScene")
3. Select the "GameObject" object in Hierarchy
4. Deselect the object
5. Inspect Console
Expected result: No errors are thrown
Actual result: "ArgumentNullException: Value cannot be null." exception is thrown
Reproducible with: 2017.4.38f1, 2018.4.18f1, 2019.3.6f1, 2020.1.0b2, 2020.2.0a3
Note: On 2017.4 stream, "NullReferenceException: SerializedObject has been Disposed" exception is being thrown instead of "ArgumentNullException"
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
- [Android] TMP Input Field loses focus on click when using an external keyboard
- GameObject renders as a cube when changing Cast Shadows
- [Linux] Crash on ModalProgressBackendLinux::Clear when Domain Reload progress bar appears
- Duplicating the Properties in the VFX Graph Blackboard pastes them on the top of the list instead below the original Property
- Package Manager lets some packages to be imported when everything in the package is deselected while other packages have the “Import” button greyed out
Resolution Note (2020.2.X):
This issue is expected because the serializedProperty is getting disposed of in the code to clean itself up after OnGUI. In such a case, it is expected that an ArgumentNullException is thrown because the PropertyAttribute getter returns a null value. In order to avoid this exception, it is required that the user adds a null check on the attribute in the OnGUI before using SerializedObject.targetObject.