1

Буду краток. Я недавно задал вопрос, насчет того - как мне лучше начать изучать C# для Unity, мне скинулы Книги и учебные ресурсы по C#. Если я куплю эти книги, то именно эти знания C# помогут мне программировать на Unity? или там используются совершенно другие понятия и другой смысл. (вы извините, я новичок в этой сфере, поэтому сори если этот вопрос звучит глупо, но мне нужен совет)

Zlobik
  • 31
  • Если вам надо изучить c# + unity, не занимайтесь ерундой, учите именно c# + unity. Есть много книг и других ресурсов для этого. Например, есть та же книга "unity in action". Но не зацикливайтесь на книгах, есть много видео уроков на том же ютубе, у самой юнити большая документация с туториалами и примерами. – tym32167 Aug 22 '19 at 13:33
  • Вам не надо быть профессионалом в c# чтобы написать тетрис, потому вам не надо (по крайней мере сейчас) изучать многотомник по c#. Изучайте только то, что вам сейчас необходимо для быстрого старта, а когда после тетриса задумаете писать более сложную игру, у вас уже будет представление о том, что вам надо учить. – tym32167 Aug 22 '19 at 13:37
  • было такое, что на работу разработчиком unity, по части unity почти ничего не требовалось...а вот спрос по c# был конкретный... – Vitaliy Stop_RU_war_in_UA Aug 22 '19 at 13:52

2 Answers2

3

Коротко: конечно

Серьезных отличий между C# в юнити и обычным C# нет, а выучить специфические вещи, имея основу не составит большого труда.

Но прежде чем бежать в магазин за книгой я хотел бы порекомендовать вам эту, как раз написана сообществом StackOverflow и распространяется абсолютно бесплатно.

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

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

2

Развернуто на это тему.

Еще пару лет назад (если не ошибаюсь) для компиляции C# в Unity использовался Mono. C# выбрали основным языком в Unity за то, что он пользуется достаточно большим спросом в сообществе разработчиков в целом. Но была загвоздка с тем, что C# был достаточно проприетарным (в совокупности .NET) и работать с ним без каких либо сложностей можно было только на Windows платформах. Соответственно, чтобы собирать на этом языке приложения под другие платформы, пришлось использовать не .NET, а кросс-платформенный аналог. Аналог этот отличался исключительно внутренней реализацией, все API были +- индентичны. Еще была проблема с тем, что поддерживались все стандарты языка около C# 4. Разрабатывался этот аналог смотря на спецификацию C# и описаниям работы .NET, по этому максимально приближался к нему по реализации.

Относительно недавно, .NET решили сделать open source проектом, что уже дает большой толчок в направлении развития C# и его популяризации. + Microsoft выкупили тот же Mono, чтобы направить .NET в кросс-платформенное русло, по этому C# на Unity и вне его вскоре станут совсем идентичны, даже в плане версии самого языка.

Уже сейчас можно попробовать завести C# 7 в Unity, правда пока в экспериментальном режиме.

Что касается стоит или не стоит учить язык глубоко - однозначно стоит. Если вы разберетесь только с Unity частью C# и Unity-way подходом в разработке игр, то далее чем junior/middle- вы не уйдете. На собеседованиях в крупные компании чаще не задают вопросы по самой Unity, только знание C# и архитектурных подходов. А нормальный архитектурный подход в игре нельзя реализовать без знания языка.

vmchar
  • 4,442