🏠 Главная

Базовые основы C# скриптов для новичков

Добро пожаловать в пошаговое введение в C# скрипты для Unity — специально для тех, кто только начинает изучать программирование.

В этом уроке мы разберём базовые элементы языка C# и покажем, как они используются внутри Unity. Вы узнаете, как устроены скрипты, зачем они нужны, и как с их помощью управлять объектами в игре.

Скрипты в 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.

Окно Unity Editor с открытым разделом External Tools в настройках
Настройки Unity Editor — вкладка External Tools с выбором редактора скриптов

💡 Можно использовать и Visual Studio Code, но он требует дополнительной настройки и плагинов. Для новичков лучше подойдёт классическая Visual Studio.

🚀 0. MonoBehaviour и запуск кода

Разберёмся, как Unity сам вызывает нужные методы в скриптах и с чего начинается выполнение.


void Update()
{
    Debug.Log("Кадр!");
}
    

📦 1. Переменные и типы

Поговорим о способах хранения данных: числа, строки, векторы и не только.


int score = 0;
Vector2 move = new Vector2(1f, 0f);
    

📚 2. Массивы и списки

Как хранить сразу много значений и обращаться к ним по порядку.


string[] fruits = { "яблоко", "груша" };
List<int> scores = new List<int>();
    

➕ 3. Операции

Как складывать, сравнивать и изменять переменные с помощью базовых действий.


score += 10;
speed = distance / time;
    

🧠 4. Условия

Научимся принимать решения в коде с помощью if, else и switch.


if (score > 0)
    Debug.Log("Есть очки!");

switch (mode)
{
    case 0: break;
}
    

🔁 5. Циклы

Повторяющиеся действия: как писать код, который выполняется несколько раз.


for (int i = 0; i < 3; i++)
    Debug.Log(i);
    

🧩 6. Пользовательские функции

Разделим код на отдельные блоки, чтобы сделать его понятнее и удобнее.


void SayHello()
{
    Debug.Log("Привет!");
}
    

🎮 7. Переменные GameObject

Сохраняем игровые объекты в переменные, чтобы управлять ими из кода.


public GameObject player;
player.SetActive(false);
    

⚙️ 8. Компоненты и GetComponent

Извлекаем нужные компоненты (например, физику или спрайт) и работаем с ними.


Rigidbody2D rb = GetComponent<Rigidbody2D>();
rb.velocity = Vector2.up * 5f;
    

🎯 9. Методы Unity API

Познакомимся с готовыми функциями Unity: движение, активация, уничтожение объектов и не только.


transform.Translate(Vector2.right);
Destroy(gameObject);