Unity или Unreal engine 5?
Делал программы на C++, проекты были не большими, но и не по типу калькулятора с визуалом. Решил, что хочу удариться в геймдев, многие выбирают Unity в виду своей простоты и количеству гайдов по созданию проектов на нем, но код там пишется на C#, он конечно "почти" тот же C++, но все же другой язык, который также нужно будет учить. А Unreal engine 5 на C++. Такой вопрос, что лучше, изучить C# и фигачить на юнити, либо на UE5? И так ли мало гайдов на UE5?
Раз ты уже писал на C++ то с синтаксисом Unreal Engine 5 тебе будет намного проще разобраться, тем более что базовые концепции ООП и работы с памятью у тебя уже есть в голове. C# на Unity конечно тоже понятный и учится быстро, но если хочется сразу в бой со знакомым языком и мощным движком, то бери UE5, тем более что гайдов на него сейчас полно на ютубе и в документации.
Учитывая ваш бэкграунд с C++, выбор между Unity и Unreal Engine 5 выглядит совсем иначе, чем для абсолютного новичка.
Давайте разберем ваши сомнения с точки зрения человека, который уже умеет писать код.
1. Языковой вопрос: C# vs C++
Сложно ли перейти с C++ на C#? Абсолютно нет. C# был создан как более дружелюбная и безопасная «эволюция» C++ и Java. Синтаксис очень похож (фигурные скобки, точки с запятой, классы, наследование). Человеку с опытом в C++ потребуется буквально пара дней, чтобы освоить базовый синтаксис C#, и неделя, чтобы начать уверенно писать логику под Unity, не путаясь в сборщике мусора (GC) и ссылках.
C++ в Unreal Engine — это не тот C++, к которому вы привыкли. В UE5 используется массивный собственный фреймворк. Там свои типы данных (FString, TArray, TMap), своя система сборки мусора (Garbage Collection через макросы UCLASS(), UPROPERTY()), сложная иерархия объектов и гигантская кодовая база движка. Писать чистый стандартный C++ там не получится — вы будете писать на «диалекте» Epic Games. Порог входа в C++ для UE5 намного выше, чем в стандартный C#.
2. Много ли гайдов на UE5?
Гайдов и туториалов на Unreal Engine 5 огромное количество, особенно на YouTube и Udemy. Но здесь есть два нюанса по сравнению с Unity:
Преобладание Blueprints (визуального скриптинга): 90% контента по UE5 делают на Блюпринтах. Если вы иностранец в мире геймдева и ищете уроки именно по C++ в UE5, их заметно меньше, а документация по движку традиционно считается сложной и запутанной.
Качество: На Unity легко найти туториал под любую специфическую задачу. На UE5 многие продвинутые вещи на C++ приходится собирать по крупицам из исходного кода самого движка или редких форумов.
3. Что в итоге выбрать?
Выбирайте Unreal Engine 5, если:
Вы хотите в будущем работать в крупных геймдев-студиях (AAA-сегмент) над тяжелой графикой, шутерами или RPG.
Вам нравится ковыряться «под капотом» движка, и вас не пугает разбираться в чужом огромном и сложном коде на C++.
Вы готовы совмещать C++ и визуальное программирование (Blueprints), так как в UE5 они идут рука об руку (логику UI и простые триггеры часто пишут на Блюпринтах, а тяжелую математику и системы — на C++).
Выбирайте Unity, если:
Вы хотите делать игры быстрее, сосредоточившись на геймплее, механиках и дизайне, а не на борьбе с движком.
Вы планируете работать в мобильном геймдеве, инди-сегменте или делать проекты в одиночку (софт и комьюнити Unity идеальны для соло-разработчиков).
Вы не хотите тратить время на изучение специфического API движка на C++, а хотите за пару вечеров освоить C# и сразу начать собирать прототипы игр.
Пили на Юнити тайкуны разные, пихай туда рекламу будешь миллионером