ну как по мне если я смог написать бэк на Джанго, телеграм бота и еще пару скриптов для тренировки, то можно сказать "умею программировать на базовом уровне".
Совсем не факт.
То что ты описываешь, можешь сделать даже нейросеть, тк перечисленные задачи уже много раз обсасывались разными людьми и в интернете есть много примеров. Всегда можно сделать "по аналогии".
Для меня "умею программировать" значит несколько иное:
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