Search Issue Tracker
Third Party Issue
Votes
0
Found in
2019.4
2020.3
2020.3.12f1
2021.1
2021.2
2022.1
Issue ID
1347682
Regression
No
JsonSerializer.Deserialize<>() returns an empty object
Reproduction steps:
1. Open the attached project "ConvertJSON.zip"
2. Open the Scene "SampleScene"
3. Press Play
Expected result: "gt" is printed in the Console
Actual result: "null" is printed in the Console
Reproducible with: 2019.4.29f1, 2020.3.14f1, 2021.1.15f1, 2021.2.0b4, 2022.1.0a2
Can't test with: 2018.4.36f1 (errors in the Console)
Notes:
- User's json file can be deserialized in .NET Console app
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
- Redoing creation of Sub Scenes and Cube GameObjects in Hierarchy throws “Assertion failed on expression: 'targetScene != nullptr’” error in Console window
- Selecting “New Sub Scene” after assigning “New Scene” in Sub Scene Script Component throws “Destroying GameObjects immediately is not permitted” in the Console window
- Shader Graph "Zoom Step Size" can be set to 0 even though the zoom still works
- Enabling/Disabling the Deprecated Nodes doesn't apply to the opened Shader Graph unless any Variable is added to the Blackboard
- Group Selection title text size is smaller in renaming than the actual font size
Resolution Note:
The code provided uses UnityEngine.JsonUtility. This component works on top of Unity Serialization which only supports serializing fields (not properties). See https://docs.unity3d.com/ScriptReference/JsonUtility.FromJson.html.
The structure in the code have only public properties, which are ignored by Unity Serialization. Changing them to public fields make it work as expected.