Добро пожаловать в пошаговое введение в C# скрипты для Unity — специально для тех, кто только начинает изучать программирование.
В этом уроке мы разберём базовые элементы языка C# и покажем, как они используются внутри Unity. Вы узнаете, как устроены скрипты, зачем они нужны, и как с их помощью управлять объектами в игре.
Скрипты в Unity отвечают за поведение объектов: они позволяют реагировать на действия игрока, запускать анимации, обрабатывать столкновения и многое другое. Без них игра — просто набор неподвижных картинок.
Не переживайте, если вы раньше не писали код — здесь всё объясняется максимально просто и по шагам. Давайте начнём!
Если у тебя ещё не установлен Unity, скачай и установи его через Unity Hub. Это официальный установщик, который поможет выбрать нужную версию и установить редактор.
Хотя для написания C#-скриптов можно использовать разные редакторы, рекомендуется начать с Visual Studio. Unity отлично с ней интегрирован: она поддерживает автоподстановку, показывает ошибки и сразу понимает, как устроен Unity-проект.
При установке Unity через Unity Hub можно выбрать Visual Studio в списке компонентов — просто не снимайте галочку. Если вы уже установили Unity, но редактор не подключился автоматически, его можно выбрать вручную:
Откройте Edit → Preferences → External Tools и убедитесь, что в поле External Script Editor выбрана Visual Studio.
💡 Можно использовать и Visual Studio Code, но он требует дополнительной настройки и плагинов. Для новичков лучше подойдёт классическая Visual Studio.
Разберёмся, как Unity сам вызывает нужные методы в скриптах и с чего начинается выполнение.
void Update()
{
Debug.Log("Кадр!");
}
Поговорим о способах хранения данных: числа, строки, векторы и не только.
int score = 0;
Vector2 move = new Vector2(1f, 0f);
Как хранить сразу много значений и обращаться к ним по порядку.
string[] fruits = { "яблоко", "груша" };
List<int> scores = new List<int>();
Как складывать, сравнивать и изменять переменные с помощью базовых действий.
score += 10;
speed = distance / time;
Научимся принимать решения в коде с помощью if, else и switch.
if (score > 0)
Debug.Log("Есть очки!");
switch (mode)
{
case 0: break;
}
Повторяющиеся действия: как писать код, который выполняется несколько раз.
for (int i = 0; i < 3; i++)
Debug.Log(i);
Разделим код на отдельные блоки, чтобы сделать его понятнее и удобнее.
void SayHello()
{
Debug.Log("Привет!");
}
Сохраняем игровые объекты в переменные, чтобы управлять ими из кода.
public GameObject player;
player.SetActive(false);
Извлекаем нужные компоненты (например, физику или спрайт) и работаем с ними.
Rigidbody2D rb = GetComponent<Rigidbody2D>();
rb.velocity = Vector2.up * 5f;
Познакомимся с готовыми функциями Unity: движение, активация, уничтожение объектов и не только.
transform.Translate(Vector2.right);
Destroy(gameObject);