Как называются вещи в юнити наподобие [SerializeField]?

В Unity, концепция объявления переменных и свойств, которые будут доступны в редакторе, но не будут отображаться в публичном интерфейсе, называется сериализацией. Одним из способов сериализации является использование атрибута [SerializeField].

Атрибут [SerializeField] применяется к членам класса, таким как переменные и свойства, чтобы указать Unity, что эти члены должны быть сериализованы и могут быть доступны для редактирования в редакторе Unity, но не будут отображаться в публичном интерфейсе.

Например, рассмотрим следующий код:

public class MyScript : MonoBehaviour
{
    [SerializeField]
    private int myInt;

    private string myString;
}

В этом примере переменная myInt будет доступна для редактирования в инспекторе Unity, но переменная myString не будет доступна, так как к ней не применен атрибут [SerializeField].

Сериализация позволяет сохранять значения этих переменных, когда игра запущена, а также использовать их в редакторе Unity для быстрого тестирования и настройки параметров без необходимости изменения исходного кода.

Атрибут [SerializeField] является одним из множества атрибутов, используемых в Unity для настройки поведения различных компонентов. Эти атрибуты обеспечивают гибкость и контроль над поведением игровых объектов в Unity.