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
- Polyspatial Material swap set animations are not firing when used in Play Mode and Players
- Incomplete shortcuts are displayed in the "Set" dropdown in Visual Effects Graph VFX Control subwindow
- Version change sub-window closes automatically when "Add Modules" subwindow is closed
- RenderTexture content from 'Depth Only' camera is not rendered correctly on UI RawImage when Multithreaded Rendering is enabled on specific MediaTek devices.
- Weight Brush Overlay text is clipped in Sprite Editor
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.