Вы также можете посмотреть подробный видеоурок в конце материала.
Для написания кода лучше выбрать Visual Studio. Чтобы ее скачать, открываем UnityHub, переходим на вкладку Installs, у нужной версии Юнити нажимаем на три точки и выбираем Add Modules. Ставим галку напротив Visual Studio и нажимаем Next. После установки VS создаем новый проект, 2D либо 3D, даем имя на английском языке.
Нужно указать Юнити, в какой программе мы будем писать код, для этого нажимаем на вкладку Edit, затем Preferences и выбираем VS.

Создаем скрипт: нажимаем правой кнопкой мыши (ПКМ) в окне проекта, выбираем Create, затем C# Script. Даем имя на английском языке. Открываем скрипт двойным кликом.
У нас открылся скрипт и в нем уже есть прописанные строки.

Первое — это библиотеки. Они нужны для того, чтобы подключать нужные типы, объекты и методы.

Далее идет объявление класса и через двоеточие — наследование от класса MonoBehaviour. (об этом мы расскажем в следующих уроках).

Зеленый цвет — это комментарии, они никак не влияют на код, это просто заметки.

Далее идут две функции Start и Update.
Start — выполняется при запуске программы и только один раз.
Update — выполняется каждый кадр, пока игра запущена.
Давайте рассмотрим структуру функции старта:
- void — это тип метода, который не требует возвращения какого-либо значения.
- start — это функция как раз из библиотеки UnityEngine.
- () — Всегда пишутся после имени функции, они могут быть пустыми или заполнены параметрами и аргументами (об этом тоже расскажем в следующих уроках).
- {} — фигурные скобки обозначают блок функции или класса.

В старте пропишем:

Debug.Log позволяет вывести в консоль то, что написано в скобках. Сохраним скрипт и запустим Юнити. Ничего не произошло, потому что скрипт не участвует в программе. Чтобы он вызвался, нам нужно добавить его на объект. Создадим пустой объект и на него в инспектор перенесем скрипт. Запустим и проверим.

Вывелось Hello один раз. Теперь эту строку из старта переносим в Update. Сохраняем и проверяем. Справа в консоли показывается количество вызовов функции. Как мы видим, функция вызывалась несколько раз.

Рассмотрим объявление переменных.
- public(публичный) — тип доступа к переменной.
- int — числовой тип переменной.
- i — имя переменной.

Тут все так же, только тип переменной — string.
- string — строковый формат.

Переменные всегда объявляются в блоке класса, чтобы их можно было использовать в любых функциях. Если переменную мы объявим, к примеру, внутри функции старт, то она будет локальной. Это означает, что данная переменная будет существовать только в функции старта.
На этом наш урок подходит к концу. Если вы хотите поближе познакомиться с разработкой игр на Юнити и программированием на C#, приходите на полный курс в школе «Пиксель». Мы научим вас писать самые разные скрипты на Си Шарп, добавлять много крутых фишек в игры, чтобы они получались сложными и интересными.