在Unity中序列化GameObject

时间:2017-05-24 09:07:12

标签: c# unity3d serialization gameobject audioclip

我喜欢上课 -

[serializable]
public class DemoClass{
    [SerializeField]
    public GameObject gameObject;
}

我想使用serializable存储数据。 Unity doc说GameObject是serializeField。但它给出了例外 -

SerializationException: Type UnityEngine.GameObject is not marked as Serializable.

有人对此有所了解吗?

2 个答案:

答案 0 :(得分:1)

在您的班级名称前添加标记[Serializable]

[Serializable]
public class DemoClass{
    public GameObject gameObject;
    public AudioClip audio;
}

Documentation

编辑:如果您仍想序列化GameObject,那么可以使用一些允许序列化Unity对象的插件。请参阅:Runtime Serialization for Unity

答案 1 :(得分:0)

您需要将[serializable]属性添加到要序列化的类中。如果您的类中的任何类尚不可序列化,则还需要将此属性添加到这些类中。

e.g。

[Serializable]
public class DemoClass
{
   public GameObject gameObject;
   public AudioClip audio;
}