Search Issue Tracker
Fixed
Fixed in 2023.1.X, 2023.1.0a1
Votes
0
Found in
2022.1.2f1
2022.2.0a15
2023.1.0a1
Issue ID
UUM-658
Regression
No
NullReferenceException thrown when SerializedProperty.boxedValue is set to null
Reproduction steps:
1. Open the attached project "1420665.zip"
2. Select a GameObject in the Hierarchy window
3. Click "Example\\Log Property Values" in the menu bar
Expected result: No NullReferenceException thrown
Actual result: A NullReferenceException is thrown:
"NullReferenceException: Object reference not set to an instance of an object
UnityEditor.SerializedProperty.set_boxedValue (System.Object value) (at /Users/bokken/buildslave/unity/build/Editor/Mono/SerializedProperty.bindings.cs:373)
BoxedValueExample.LogValue (UnityEditor.SerializedProperty serializedProperty, System.Text.StringBuilder log) (at Assets/BoxedValueExample.cs:56)
BoxedValueExample.LogProperties (UnityEngine.Object obj, System.Text.StringBuilder log) (at Assets/BoxedValueExample.cs:40)
BoxedValueExample.MenuCallback () (at Assets/BoxedValueExample.cs:14)"
Reproducible with: 2022.1.2f1, 2022.2.0a15
Not reproducible with: 2019.4.39f1, 2020.3.35f1, 2021.3.3f1 (SerializedProperty does not have a boxedValue property)
Reproducible on: macOS 12.0.1
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
- Texture2D hash changes inside of an AssetBundle when rebuilding a SpriteAtlas bundle with an empty AssetPostprocessor Script enabled
- Aniso Level still applies when Generate MipMap is disabled in Texture Import Settings
- Mipmap Limit Groups long names are not truncated when creating a new Mipmap Limit Group with a long name
- “ArgumentException: Invalid double parameter.” error is thrown when Infinity is typed into the Fixed Timestep field
- GameObject becomes gray when using HDRP and STP together on macOS
Resolution Note (fix version 2023.1):
This fix detect the null case in the boxedValue setter and throws an exception with clear error message rather than a the prior behaviour of throwing a general NullReferenceException.
The property types "ManagedReference", "ObjectReference" and "ExposedReference" can still be set to null because they are reference types.