Blueprint или C++ в Unreal Engine
что выбрать и в чём разница?
Что выбрать для создания игры в Unreal Engine: Blueprint или C++? Ведь блочная сборка из блупринтов более понятна любому новичку, тогда зачем прибегать к классическому программированию? Но, логика подсказывает, раз оно в Анриле есть, значит блупринты в чём-то ему уступают?

На самом деле, если разработчик использует систему Blueprint, то это не отменяет использование C++, и наоборот, одно другому не мешает. И такую коллаборацию используют повсеместно. Чтобы с этим разобраться, нужно понимать, где каждый из подходов будет наиболее выигрышный. Нужно их сравнить.
Blueprint даёт карт-бланш не программистам: художникам, дизайнерам, а также новичкам. Именно в этом кроется причина появления системы визуальной разработки в движке. Но, если брать разработку игры в целом, если проект и дальше будет расти, то классический подход с программированием явно выигрывает.
У него выше производительность: C++ работает быстрее. Особенно, если это сетевая игра со множеством пользователей и тяжеловатой логикой. Да и работать с кодом будет проще. Он в классическом программировании понятнее структурирован, что упрощает его дальнейшую модификацию.
4-5 строк программного кода на C++, в Blueprint, могут занять весь экран. Такой график из множества узлов и проводов становится трудным для чтения. И не запутаться в таком большом клубке может только Иван Сусанин.

В Blueprint ограничен функционал, а многие продвинутые функции движка просто недоступны. Есть и некоторые косяки. Например, сбивается расположение уже выравненных блоков; явно мешают отдельные окна для каждой функции и тому подобное. Но, хватит о недостатках Blueprint, у него есть и свои плюсы. И отбрасывать эту систему полностью не нужно.
Если на C++ предпочтительнее писать ядро игры, то блупринты более удобны для создания отдельных функций. В Blueprint прямо в редакторе можно создавать и настраивать C++-классы и их экземпляры. И такой симбиоз помогает значительно экономить ресурсы.
Система Blueprint доступна для новичков и даже послужит гидом, она познакомит с механизмом создания игры. Причём происходит это знакомство плавно и поступательно.
| Blueprint | C++ | |
|---|---|---|
| Вход | + | – |
| Производительность | – | + |
| Читабельность | – | + |
| Функционал | – | + |
Она будет страховать, предупреждая об ошибках. Это способствует пониманию процесса обработки движком ваших шагов. Т.е. Blueprint выполняет роль своеобразного наставника. А ещё в ней легче создавать прототипы, и можно быстрее довести игру до рабочего состояния.
Подводим итог. Если вы новичок и любитель, вам следует держаться мудрой истины — начинать с простого пути — с Blueprint. А уже потом двигаться дальше. Кстати, в новых версиях Unreal Engine, начиная с 4-й, есть заметное улучшение инструментов для разработки 2D-игр. А вот профессиональным разработчикам без знания языка C++ никак не обойтись.