Вам немного надо подучить основы C# и ООП.
// название класса
class MyClass
{
// приватное поле типа 'int'
private int _myField;
// какой-то публичный метод
public void MyMethod()
{
}
}
Класс - это некий шаблон для создания объекта. Созданный объект из какого-то класса еще назвают экземпляром этого класса. Переменная или поле может содержать ссылку на этот экземпляр. Класс - ссылочный тип данных.
// создание экземпляра, переменная instance - экземпляр класса MyClass
MyClass instance = new MyClass();
instance.MyMethod(); // вызов публичного метода для данного экземпляра класса
// класс, наследующий базовый класс MonoBehavior
class MyController : MonoBehavior
{
// приватное поле типа 'MyClass'
private MyClass _instance;
void Awake()
{
_instance = new MyClass();
}
void Start()
{
_instance.MyMethod(); // то же самое, вызов метода для экземпляра MyClass
}
}
В вашем случае экзепляр new MyClass() создается в недрах Unity. Но суть работы уже с созданным экземпляром как в Unity, так и в чистом C# одна и та же.
Чтобы подробнее понять, как оно работает, изучите принципы ООП - инкапсуляция, наследование и полиморфизм. Они для всех языков программирования и всех фреймворков одни и те же.
Атрибут [SerializeField] в данном случае к вопросу ООП не относится, он выполняет другие задачи, не обращайте на него много внимания.