Памятка рассчитана на тех, кто хочет изучать Unity и совсем неопытных людей, которые решили попробовать найти работу программистом. Если тебе нужно просто переучиться с другого языка или стека, то читай по диагонали. Это ни в коем случае не исчерпывающая инструкция к применению, я буду рад дополнить и исправить материал согласно советам бородатых сеньоров)
0. Лучшее время начать учиться — прямо сегодня
Банально, но правда. Лучше учиться хоть по 15 минут в день, чем ждать волшебного подходящего момента.
1. У Unity есть отличные обучающие материалы
Начни с основ:
https://learn.unity.com/pathway/unity-essentials
Тут тебе подробно и доступно объяснят, какие роли существуют в командах разработки, что такое движок Unity и где его применяют, как не теряться в миллионах панелек и менюшек и т.д.
Как ты заметил, все материалы Unity Learn на английском, но это не беда.
Во-первых, рано или поздно тебе всё равно придётся подтянуть язык хотя бы до уровня 9 класса.
Во-вторых, гуглить решение проблем гораздо лучше на английском, так у тебя будет доступ к гораздо большему объёму информации.
В-третьих, умение читать техническую литературу и документацию на английском будет хорошим пунктом в твоём будущем резюме.
В-четвёртых, весь материал написан очень простым и живым языком с обилием шутеек. Почти ко всем видео доступны субтитры.
Наконец, Гугл довольно сносно переводит содержимое страничек.
Когда освоишься, самое время переходить к более практическим навыкам:
https://learn.unity.com/pathway/junior-programmer
Тут тебя за ручку, по пунктам, от А до Я проведут по всем основным возможностям движка, объяснят ключевые понятия и полезные практики, расскажут про основы программирования на C# и ООП. В процессе обучения будет предложено решить пару десятков задач разной степени сложности: имплементации фич, дебаг проектов, элементарный рефакторинг и оптимизация, работа с отзывами игроков — скучно не будет.
Хорошим дополнением будут мини-курсы:
https://learn.unity.com/project/intermediate-gameplay-scripting
В принципе, если стоит задача писать простенькие гиперказуалки а-ля Flappy Bird, полученных знаний уже будет достаточно. Можно смело приступать к изучению рынка труда или написанию домашнего проекта.
2. metanit.com
Этот сайт будет тебе надёжным другом и товарищем в деле освоения кодинга. Помимо объёмного, весьма подробного, отлично структурированного и понятного Руководства по C# на сайте есть примеры тестовых вопросов, очень ценная секция комментариев и сопровождающие видео почти к каждой теме.
В целом, ничего сложного в программировании нет. Если какая-то тема туго идёт, попробуй немного отдохнуть, проверить комменты (там, скорее всего, все вопросы разжевали уже годы назад), поискать материал по теме самостоятельно.
Лично я рекомендую к изучению главы Руководства с 1 по 6 и 9. Для джуна хватит на первое время, но лучше хотя бы ознакомиться с полным оглавлением для того, чтобы быть хотя бы в курсе о существовании некоторых фишек.
Также, очень рекомендую проработать разделы, посвящённые относительной сложности алгоритмов и принципам SOLID.
3. RTFM
Хихоньки, конечно, хахоньки, но официальный мануал действительно очень полезный и к тому же содержит неплохие примеры практик и кода. Не ленись почитать его, а не просто первую ссылку на stackoverflow в гугле.
То же самое касается и Scripting API
https://docs.unity3d.com/2020.3/Documentation/Manual/UnityManual.html
4. Код стайл
Достаточно горячая тема, включающая в себя рекомендации по наименованиям, стилю и оформлению кода. Кто-то уповает на официальный C# Coding Conventions, кто-то считает, что стиль не бывает неправильным, а лишь непринятым в данной конкретной команде. Короче, это как вопрос этикета — лучше изучить и намотать на ус, но применять к месту и не холиварить по пустякам.
https://github.com/dotnet/runtime/blob/main/docs/coding-guidelines/coding-style.md
Сайт для форматирования уродского некрасивого куска кода в отформатированный красивый код онлайн https://codebeautify.org/csharpviewer
5. Паттерны, рефакторинг и прочие умные слова
Шаблоны игрового программирования помогут тебе использовать типовые архитектурные решения, а не изобретать велосипед в сотый раз. Знать всё не обязательно, но ознакомиться советую.
Рефакторинг поможет тебе держать свой код в относительной чистоте и порядке. На мой взгляд, тема неплохо раскрыта тут: https://refactoring.guru/ru/refactoring
https://github.com/Habrador/Unity-Programming-Patterns
https://github.com/QianMo/Unity-Design-Pattern
6. Дополнительная инфа
Не стесняйся рыться в как можно большем количестве источников информации. Тут я перечислю только некоторые места, которые мне понравились.
Каналы с видеоуроками и примерами реализаций фич из различных игр на Unity:
https://www.youtube.com/c/CodeMonkeyUnity
https://www.youtube.com/c/Brackeys/
https://www.youtube.com/c/inScopeStudios/playlists
Мужчина пишет rpg Learn Unity Engine and C# by creating a real top down RPG [FULL COURSE][C# Unity Tutorial] https://youtu.be/b8YUfee_pzc
Блог с переводами различных статей от разработчиков и не только:
https://habr.com/ru/users/PatientZero/posts/
Если сильно соскучился по универским лекциям или хочешь закопаться в тему поглубже, тебе на Лекториум. Там какое-то совершенно неприличное количество видео лекций на самые разные темы в свободном доступе: лекции
Онлайн книга на случай, если хочешь поподробнее узнать про системы контроля версий, а точнее про git: https://git-scm.com/book/ru/v2/
Онлайн книга на случай, если хочешь как следует обмазаться матчастью, а именно мат аппаратом 3D графики и аналитической геометрии: https://gamemath.com/book/intro.html
Сайт с огромным количеством задачек по программированию разного уровня сложности. Представляют больше спортивный интерес, чем практический, но могут неплохо разбавить процесс обучения и развлечь: https://www.codewars.com/
Отличный пост-подборка про Computer Science, которую опубликовал товарищ Sam Tokov
https://dtf.ru/flood/808112-computer-science-chto-chitat-smotret
7. Собеседования
То, ради чего всё и затевалось. Не скажу, что у меня большой опыт в прохождении собеседований, поэтому просто оставлю ссылки на чужие материалы.
Самый полный и полезный гайд, что я встречал. Хотя половина вопросов на моих собесах были не из представленного списка, но понимание общего процесса сильно помогло не растеряться:
Ещё немного вопросов по разным темам:
https://coremission.net/gamedev/voprosy-dlya-sobesedovaniya-unity3d-programmista
Вопросы по C# и .NET
https://metanit.com/sharp/interview
8. Книги
Как ты мог заметить, все материалы, на которые я уже оставил ссылки, были бесплатными и общедоступными. Теперь же поговорим о книгах, каким бы путём ты их не получил
Эта книга подробно описывает внутреннее устройство и функционирование общеязыковой исполняющей среды (CLR) Microsoft .NET Framework версии 4.5. Книга научит вас создавать по-настоящему надежные приложения любого вида, в том числе с использованием Microsoft Silverlight, ASP.NET, Windows Presentation Foundation и т.д.
Четвертое издание полностью обновлено в соответствии со спецификацией платформы .NET Framework 4.5, а также среды Visual Studio 2012 и C# 5.0.Из аннотации
Обо всём понемногу, хорошо подходит как обзорный материал для новичков.
Хорошо структурированный материал с обилием листингов (иногда встречаются опечатки) и описанием некоторых алгоритмов и приёмов проектирования игр. Не подходит для полных новичков в программировании. Подходит для вкатывания в Unity, если ты уже умеешь писать хоть какой-то код.
Отличный справочник по введению в базовые алгоритмы. Не все темы релевантны в геймдеве, но фундамент закладывается неплохой.
Отличный научпоп с описанием работы систем кодирования, электрических устройств, прообразов современных ПК, историческими экскурсами и просто интересными сведениями. Настоятельно рекомендую к прочтению в свободное время.
Нетленка об истории развития индустрии разработки ПО, организации и управлении рабочего процесса.
Ещё можно почитать что-нибудь из следующего списка (сам не проверял, но люди рекомендуют):
https://tproger.ru/books/the-25-most-recommended-programming-books-of-all-time
В заключение
Я оставил множество ссылок, информации в интернете колоссальное количество. Не пугайся, учить всё это от корки до корки не обязательно)