Unity 3D: Инструментарий разработчика

» Раздел: Программирование

Данная статья вовсе даже не статья. Скорее просто напоминалка желающим осваивать юнити.
Здесь перечислено, что конкретно вам понадобится для разработки.
  1. Visual Studio любой версии.
В стандарте Unity предоставляет нам MonoDevelop как основную среду программирования. Но имхо моно это как держать вилку ногой. С одной стороны так можно работать, но если есть более удобный вариант почему бы им не пользоваться. Плюс моно - нативная поддержка отладчика и непосредственно поддержка со стороны юнитехов. А минусы - все остальное.
Лично я пользуюсь 2010 версией по простой причине - она не использует синтаксический сахар новых версий C#. Так как сам Unity держится на .NET 3.5 такое намеренное ограничение мне кажется вполне разумным чтобы не создавать себе путаницу. Хотя конечно новые версии предоставляют другие интересные фичи по части разработки (и предполагается мне что я сам этого просто не понимаю, потому и сижу в 2010), потому в выборе версий поступайте так, как вам лучше.
Выбор среды по умолчанию в Unity осуществляется через меню Edit/Prefereces...
  1. Resharper
Решарпер - это плагин для студии, расширяющий возможности. В сути именно он и является главной причиной, почему многие пишут именно в студии - это просто комфортно. При установке решарпера, во-первых, вы расширяете Intellisense (автодополнение кода), а в настройках вы можете включить очень приятную подсветку. Так же решарпер добавляет ряд сочетаний клавиш. Самые часто используемые из которых Alt+F7 (посмотреть все места, где класс используется) и Alt+Enter (на это сочетание повешаны все "советы").
Ключевой фишкой решарпера является возможность советовать вам как поступать с вашим кодом. Решарпер знает, какие методы нигде не используются и может предложить вам их удалить. Он знает когда вашу конструкцию можно упростить или представить в другом виде. Знает когда можно преобразовать хвостовую рекурсию. Проверяет чтобы вы не вызвали пустой объект, понимает когда код недостижим. Советует как лучше назвать метод (кстати есть массовое переименование по F2, когда нужно переименовать все места где поле/переменная/метод используется). И это лишь безумно маленькая, почти незаметная на общей картине часть того, как решарпер помогает вам с кодом только лишь сочетанием Alt+Enter. А ведь сочетаний там гораздо, гораздо больше чем 3 мной названных. Есть несколько инструментов для навигации по классам, инструменты для рефакторинга, автодополнения, быстрые шаблоны для вашего кода и так далее. После установки решарпера при запуске студии он сам расскажет, как им пользоваться.
У меня лично установлена версия 8.2.0.2160, но я думаю сейчас уже версии поновее.
  1. UnityVS
UnityVS - плагин, который создан специально чтобы сдружить студию с Unity. После установки плагина вы можете использовать отладку, создавать библиотеки. Запуск студии из Unity заметно ускорится. а так же добавится ряд инструментов для "удобства". Для интеграции плагина в ваш проект вы так же должны будете распаковать в свой проект специальный unitypackage, который появится в списках после установки.
  1. .NET Reflector или dotPeek
Рефлектор используется разработчиками для того, чтобы смотреть код существующих, написанных под C# библиотек. С помощью этого инструмента вы можете учиться на чужом опыте - смотрите как пишут код другие и извлекайте из этого выводы. Ну и конечно же это помогает разработчикам понять то, как движок вообще работает. Открыв под рефлектором UnityEngine.dll/UnityEditor.dll вы ответите себе на все вопросы, ответы на которые не дала вам документация.
Использую версию 8.3.3.115 и советую юзать не ниже этой - старый рефлектор очень любит вылетать и немного урезан в поиске.
dotPeek в отличие от .NET Reflector'a бесплатен и тесно интегрирован с 9ым решарпером.
  1. Totroise HG. Контроль версий
Конечно, на начальном этапе для первых ваших наработок данная программа вам вряд ли понадобится. Однако если вы входите в серьезное русло - настоятельно советую использовать контроль версий. Во-первых, он поможет вам в случае "случайного" удаления файла, а возможность "откатиться" до любого сохранения действительно выручает. В случае работы в командном проекте контроль версий позволяет "мержить" (читай "скрещивать") ваши скрипты, а так же всегда быть вкурсе последних изменений, сделанных другими разработчиками. В удаленной работе обычно используется вместе с bitbucket.org.
  1. Shader Unity Support или NShader
Подсветка синтаксиса CG.

Вот собственно и всё, как вы видите - программ не особо много, но каждая из них действительно меняет ваше представление о разработке под Unity в лучшую сторону.

Просмотров: 2 506

lentinant #1 - 2 года назад 0
Дома до сих пор программирую на Mono, но на работе использую VS с Решарпером. Думаю попробовать распространить лицензию с работы на домашний комп.
alexprey #2 - 2 года назад 0
Хорошо было бы прикрепить ссылки на официальные сайты для загрузки
А вот такой вопрос по UnityVS, как к человеку, который с ней уже работал. Unity каждый раз пересоздает файл проекта и поэтому приатачить зависимые проекты не шибко получается и из-за этого приходится работать в нескольких солюшенах. Плагин даст такую возможность?
Devion #3 - 2 года назад (отредактировано ) 0
alexprey, да кстати, плагин решает эту проблему на раз-два. Он сам пересобирает решение, причем существенно быстрее чем юнити в нативе.
И вручную можно вот так:
Все приаттаченные проекты спокойно живут в одном решении.
прикреплены файлы
MF #4 - 2 года назад 0
Хм, ну ок, попробуем перейти на VS =)
Devion #5 - 2 года назад 0
Добавил ссылки.
Кстати студия как я понял теперь бесплатна
RAid3N #6 - 2 года назад 0
Есть что нибудь удобнее MonoDevelop на OSX?
alexprey #7 - 2 года назад (отредактировано ) 0
RAid3N, студия 2015 должна быть теперь кроссплатформенной) По крайней мере инфа о поддержке под OsX уже была
Extravert, прекрасно :)
RAid3N #8 - 2 года назад 0
alexprey, инфа то такая была, но по факту я не вижу студии под OSX :)
alexprey #9 - 2 года назад 0
Shader Unity Support
Подсветка CG
А UnityVS разве не поддерживает подстветку синтаксиса?
RAid3N, потому что еще не было релиза, но скоро должен состояться уже
Devion #10 - 2 года назад 0
alexprey, нет не держит. Еще NShader добавил, он покруче, но его подкручивать надо чутка под Unity как я понял.
Пусть будет две на выбор
добавил dotPeek как аналог .NET Reflector. Скорее всего им и заменю, ибо к качеству продуктов JetBrains доверия больше.
RAid3N #11 - 2 года назад 0
alexprey, ну будем ждать и надеятся =)
lentinant #12 - 2 года назад 0
Объясните мне, как настроить VS, чтобы тот не создавал скрипты с неймспейсами и так далее.
alexprey #13 - 2 года назад 0
lentinant, а зачем? неймспейсы очень удобны, не дают запутаться. Лично я не видел как отключить такое, создавай скрипты из юнити тогда
Devion #14 - 2 года назад (отредактировано ) 1
прикреплены файлы
MF #15 - 2 года назад 0
Ух ты ж йожки матрешки, там получается можно автоматом наследование от своего наследника бехавора поставить? =)
удобненько
Devion #16 - 2 года назад (отредактировано ) 0
ну просто поставить наследника обычно слишком простая операция чтобы запариваться. Но есть ряд шаблонов, которые лучше бы забить один раз и не париться.
Например:
  • когда создаешь окно, помимо наследования нужно создать статик метод с атрибутом и определенными данными для вывода в меню и метод онгуи. Удобно сделать именно шаблоном, чем забивать каждый раз.
  • когда создаешь редактор желательно сразу создать перерисовку инспектора, зафигачить свойства, в которых представить target под нужный тип, сразу приписать атрибут в соответствии с тем к чему редактор крепится. опять же удобней шаблоном.
  • синглтон - обычно конструкция простая, но вбивать ее каждый раз просто влом.
MF #17 - 2 года назад 2
Поставил 2013 VS, UnityVS и Resharper 9. Пока полет нормальный... я даж немного в восторге, насколько это отличается от Monodevelope =)
devpilgrim #18 - 2 года назад (отредактировано ) 2
Devion писал:
ну просто поставить наследника обычно слишком простая операция чтобы запариваться. Но есть ряд шаблонов, которые лучше бы забить один раз и не париться.
Для этих целей лучше воспользоваться бесплатным расширением для UnityEditor написанное разработчиками Unity:
Create Script Dialog
Правда он устарел, выдает ошибки и предупреждения ибо был написан еще для Unity 3.4.2. и с тех пор не обновлялся (последнее обновление Jan 19, 2012).
Но есть исправленная для Unity 5 версия + несколько общих (совсем незначительных) оптимизаций.
Create Script Dialog
С помощью этого расширения можно сделать и шаблоны для VS (по крайней мере для тех, кому это в новинку - будет намного проще).
Правки мои, просто удалена ссылка на устаревший визуальный стиль и внесены небольшие правки в соответствии со стандартами написания кода для NET...
прикреплены файлы