В Unity, концепция объявления переменных и свойств, которые будут доступны в редакторе, но не будут отображаться в публичном интерфейсе, называется сериализацией. Одним из способов сериализации является использование атрибута [SerializeField].
Атрибут [SerializeField] применяется к членам класса, таким как переменные и свойства, чтобы указать Unity, что эти члены должны быть сериализованы и могут быть доступны для редактирования в редакторе Unity, но не будут отображаться в публичном интерфейсе.
Например, рассмотрим следующий код:
public class MyScript : MonoBehaviour { [SerializeField] private int myInt; private string myString; }
В этом примере переменная myInt будет доступна для редактирования в инспекторе Unity, но переменная myString не будет доступна, так как к ней не применен атрибут [SerializeField].
Сериализация позволяет сохранять значения этих переменных, когда игра запущена, а также использовать их в редакторе Unity для быстрого тестирования и настройки параметров без необходимости изменения исходного кода.
Атрибут [SerializeField] является одним из множества атрибутов, используемых в Unity для настройки поведения различных компонентов. Эти атрибуты обеспечивают гибкость и контроль над поведением игровых объектов в Unity.