Why I got empty JSON string returned while using setter and getter in the object class in Unity 5.3? Why I got empty JSON string returned while using setter and getter in the object class in Unity 5.3? json json

Why I got empty JSON string returned while using setter and getter in the object class in Unity 5.3?


Unity can not serialize properties.

http://docs.unity3d.com/ScriptReference/SerializeField.html

The serialization system used can do the following:

  • CAN serialize public nonstatic fields (of serializable types)
  • CAN serialize nonpublic nonstatic fields marked with the [SerializeField] attribute.
  • CANNOT serialize static fields.
  • CANNOT serialize properties.

Your field will only serialize if it is of a type that Unity can serialize:

Serializable types are:

  • All classes inheriting from UnityEngine.Object, for example GameObject, Component, MonoBehaviour, Texture2D, AnimationClip.
  • All basic data types like int, string, float, bool.
  • Some built-in types like Vector2, Vector3, Vector4, Quaternion, Matrix4x4, Color, Rect, LayerMask.
  • Arrays of a serializable type
  • List of a serializable type
  • Enums
  • Structs
  • List item

EDIT:Only plain classes and structures are supported; classes derived from UnityEngine.Object (such as MonoBehaviour or ScriptableObject) are not.

https://docs.unity3d.com/ScriptReference/JsonUtility.FromJson.html