Описание
Указывает, что класс или структуру можно сериализовать.
Чтобы включить сериализацию, примените атрибут [Serializable]. Дополнительную информацию о сериализации см. в разделе Сериализация сценариев.
Примечание. Сериализировать можно только неабстрактные, неуниверсальные пользовательские классы.
В следующем примере мы создаем пользовательскую структуру Player и присваиваем ей атрибут [Serializable], чтобы сделать ее сериализуемой. Затем мы создаем приватное поле типа Player и применяем к нему атрибут [SerializeField], чтобы оно отображалось в Инспекторе.
using System;
using UnityEngine;
public class Player : MonoBehaviour
{
//Create a custom struct and apply [Serializable] attribute to it
[Serializable]
public struct PlayerStats
{
public int movementSpeed;
public int hitPoints;
public bool hasHealthPotion;
}
//Make the private field of our PlayerStats struct visible in the Inspector
//by applying [SerializeField] attribute to it
[SerializeField]
private PlayerStats stats;
}