Задать вопрос
  • Достаточно ли изучить синтаксис C# для создания игры на Unity?

    Программировать бы по пути ещё научиться, а потом ещё нужно будет в самом юнити разбираться.
    Помни, что знать синтаксис языка и уметь программировать - это два практически независящих друг от друга навыка.
    Так что я бы ещё посоветовал кроме метанита ещё пройти курс по программированию на C# на ulearn.me - всегда его рекомендую.

    Разрешаю пропустить вообще весь учебник - судя по тому, какие тут вопросы задают, люди вполне делают игры на юнити вообще ничего не изучая и не читая.

    Если неиронично, то вполне можно пропустить 20 и 24 главу оттуда, и то и то даже в промышленной разработке сейчас практически не используется, а в юнити не используется вообще.

    Если у тебя цель в принципе делать игры и Unity это будет или какой-то другой движок тебе не принципиально, то я бы посоветовал тебе взять godot.
    Это попросили добавить в текст ответа

    ну как по мне если я смог написать бэк на Джанго, телеграм бота и еще пару скриптов для тренировки, то можно сказать "умею программировать на базовом уровне".


    Совсем не факт.
    То что ты описываешь, можешь сделать даже нейросеть, тк перечисленные задачи уже много раз обсасывались разными людьми и в интернете есть много примеров. Всегда можно сделать "по аналогии".

    Для меня "умею программировать" значит несколько иное:
    1. Нужно понимать, из каких составных частей строится любой алгоритм.
    2. Нужно понимать, как эти составные части выглядят в нужном языке и уметь из одного делать другое.
    3. Иметь хотя бы базовое понимание современного language design, понимать семантику языков, системы типов, понимать поток выполнения.
    Хотя бы поверхностно понимать, что делает компилятор.
    Понимать разницу между синхронным, асинхронным, и параллельным.
    4. И менее абстрактное - понимать, как происходит работа с памятью.

    Конкретно про юнити и c# точно нужно знать:
    1. Синтаксис, чтобы не пытаться объявить переменную в теле класса и не пытаться T запихнуть в переменную.

    2. Терминологию и ООП, чтобы не задавать вопросы вида "как прочитать переменную из другого файла" или "как вызвать метод из другого скрипта"

    3. Понимать фичи, которые используются в юнити: разницу между классами и структурами (чтобы понимать, почему DOTS и Burst именно такие, какие есть), понимать области видимости (и в рамках методов и в рамках классов), yield, sync/await, систему типов.

    В общем абсолютно точно нужно прочитать главы 1-13, 17, 18, 19, 21-24.

    Очень желательно 14-16 (так как всё
    ещё существует UniTask и какие-то вещи возможно ты захочешь вынести в отдельные потоки, которые не привязаны к физике или графике).
    Также они тебе понадобятся, если ты будешь делать свой сервер для чего-нибудь.

    Ради модов еще раз надо будет прочитать 19 и 25.

    27 - очень желательно, чтобы понимать, почему в разных примерах код разный и не писать в старом стиле.

    В конце читай 26 главу, оно тебе пригодится, когда будешь делать что-то не на юнити.

    Ну и не привязывайся жестко к юнити. Если будешь делать сетевые многопользовательские игры, то тогда тебе всё равно придется полностью всё прочитать. (Да и даже если игра однопользовательская, то возможно ты захочешь сделать покупки внутри игры, синхронизацию сохранений, сбор статистики, или загрузку какого-нибудь контента через интернет. Тогда тебе тоже захочется сделать свой сервер)

    Повторюсь: единственное, что точно не стоит читать никому - это глава про Dynamic Language Runtime.

    Бтв метанит сам по себе очень ужатый. В нём всё ещё не рассматриваются вопросы:
    1. Тестирования
    2. Работы с dotnet CLI
    3. Опций компилятора
    4. Nuget
    5. Структуры проекта
    6. Best practice
    Ответ написан