на каком движке создавать игру
7 игровых движков, на которых можно создать свою первую игру
Сегодня игровая разработка доступна как никогда: в сети можно найти сотни руководств и десятки движков под любые запросы.
Из-за этого новичкам сложно найти подходящий вариант — многие просто устанавливают самые популярные программы.
За последние пять лет я создавал небольшие прототипы — то есть наброски, реализующие разные механики, — на разных игровых движках. А еще участвовал в джемах — конкурсах по созданию прототипов за короткий промежуток времени — и помогал в разработке пока не вышедшей игры на Unity.
В этом тексте я собрал самые простые для освоения движки для создания первых проектов. В список попали утилиты с большим количеством обучающего материала и максимально низким порогом входа.
Важное уточнение: в некоторых разделах указаны сложности в работе с 3D — под этим подразумевается отсутствие официальной поддержки трехмерных игр. Впрочем, это не мешает некоторым разработчикам добиваться эффекта псевдотрехмерности в любом движке. Прямо как в первой Doom.
Почему лучше выбрать готовый движок
Игровые движки, доступные на рынке, — это чаще всего готовые наборы утилит, которые помогают сразу приступить к разработке игры. Зачастую они бесплатны, а брать с вас деньги начнут лишь тогда, когда вы захотите использовать движок в коммерческих целях — то есть решите выпустить игру в магазине.
Большие игровые движки постоянно дорабатываются разработчиками — выходят новые версии и утилиты. Вокруг них складываются большие сообщества авторов игр, которые делятся советами и руководствами между собой. Нередко при движках существуют еще и магазины ассетов — предметов, которые используются в играх, будь то 3D-модель или текстура.
Разработчики дают лицензировать свой движок по-разному : кто-то одномоментно берет фиксированную сумму за коммерческое использование, а кто-то предпочитает забирать процент с доходов игр, выпущенных на движке. Последний вариант наиболее выгоден для независимых разработчиков, которые хотят продавать игры, но не располагают большими деньгами для лицензирования.
Альтернатива готовым движкам — это написать свой. В случае с собственным движком никому не надо платить за его использование, да и знать вы его будете лучше всех. Но новичку такой вариант не подойдет: написание движка может занять несколько лет и требует знаний в математике, программировании и графических технологиях.
Если вы хорошо знакомы, например, с языком C++ и графическими библиотеками вроде OpenGL, можно попробовать написать собственный движок, но разработка игры затянется, ведь утилиту придется постоянно дорабатывать. На старте все потребности учесть невозможно.
Даже у больших издателей проприетарные движки, то есть разработанные внутри компании, постоянно обновляют из-за недостатка функций. Например, Electronic Arts, известная по Battlefield и Mass Effect, постоянно пытается приспособить Frostbite под разные жанры.
Для разработки первой игры лучше выбрать один из готовых движков — ничего стыдного в этом нет. Тем более что крупные разработчики тоже ими не брезгуют: весомая доля известных проектов выпущена на Unreal Engine или Unity.
Как победить выгорание
Unity
Unity появился аж в 2005 году, и это до сих пор один из любимых движков в инди-среде наравне с более продвинутым Unreal Engine 4. Главное преимущество движка — большое сообщество и множество официальных и неофициальных «обучалок». Создатели программы даже запустили портал Unity Learn с курсами о разных аспектах работы с движком.
Unity практически не ограничивает пользователя: в движке можно работать с 2D и 3D, VR и любыми жанрами от «три в ряд» до шутеров от первого лица.
Сегодня порог вхождения в Unity низок: первый прототип можно собрать очень быстро благодаря встроенному магазину ассетов и инструментам визуального программирования — утилитам, которые позволяют настраивать логику игровых механик без необходимости писать код.
Новичкам особенно удобна система Shader Graph для создания сложных шейдеров — специальных эффектов отображения объектов.
Unity подходит для мобильной разработки и инди. В нем можно быстро создавать прототипы, что особенно кстати для разработки гиперказуальных проектов — игр для смартфонов с очень простыми механиками и высокой степенью вовлечения, например Helix Jump или Flappy Bird.
Unity часто винят в плохой оптимизации и визуальной бедности: тот же Unreal Engine 4 часто используют 3D-художники для того, чтобы выставить свет и красиво настроить сцену. В Unity же нужно время, чтобы достичь такой картинки.
А еще обновления Unity нередко «ломают» проекты или отдельные его части вроде текстур.
Unreal Engine
Цена: бесплатный, при доходе от миллиона долларов за все время существования игры Epic Games забирает 5%
Сильные черты: графика, встроенное визуальное программирование, открытый исходный код
Недостатки: высокие требования к навыкам разработчика
Игры на движке: Fortnite, Star Wars: Jedi Fallen Order, Mortal Kombat 11
Unreal Engine и Unity — «большая двойка» игровых движков. Но в UE по умолчанию гораздо более продвинутая картинка, чем у конкурентов, и заточен он под 3D. А система визуального программирования Blueprint упрощает работу для новичков, которые не хотят писать код: благодаря ей в движке очень удобно собирать небольшие прототипы. К тому же в официальном магазине каждый месяц проводятся бесплатные раздачи ассетов для коммерческого использования.
Новая версия движка, Unreal Engine 5, — потенциальный прорыв для всей индустрии. Благодаря системе Nanite художникам больше не нужно беспокоиться об оптимизации ассетов под разные системы: движок сделает это самостоятельно. А технология Lumen автоматически обрабатывает источники света — раньше на подобные системы приходилось тратить немало ресурсов.
В последнее время Epic Games делает все, чтобы у пользователей Unreal Engine был доступ к самым продвинутым технологиям — взять хотя бы конструктор людей MetaHuman, который позволяет за пару секунд создать реалистичную модель человека.
Неудобство UE в том, что он во многом ориентирован на профессионалов. Визуальное программирование Blueprint тратит больше ресурсов системы, чем код на C++, поэтому большой проект совсем без программирования сделать не получится.
В местном интерфейсе новичок легко запутается, да и красивая картинка может вызвать проблемы, ведь ее придется оптимизировать под самые разные устройства.
Unreal Engine — хороший выбор для тех, кто хочется сразу погрузиться в профессиональный геймдев и в перспективе работать над высокобюджетными проектами. Разработка на нем требует большей технической подкованности, чем на других движках, так что он больше подойдет тем, кто уже немного знаком с особенностями создания игр. Например, для тех, кто уже работал в Unity, в документации UE есть отдельный гайд.
GameMaker Studio
Цена: бесплатная версия не позволяет опубликовать проект, инди-лицензия стоит 259 Р в месяц, корпоративная — 1389 Р в месяц
Сильные черты: программирование необязательно, drag-and-drop-разработка
Недостатки: почти не работает с 3D, бедный встроенный магазин ассетов
Игры на движке: Katana Zero, Hyper Light Drifter
GameMaker Studio — один из самых известных игровых движков наравне с Unity и Unreal Engine. На нем сделаны многие инди-хиты вроде Undertale, а еще у него очень низкий порог вхождения: для GameMaker необязательно умение программировать, и все взаимодействия можно настраивать буквально «перетягиванием».
Впрочем, писать код в нем тоже можно — создатели даже разработали специальный язык, GML (Game Maker Language). У него меньше возможностей, чем у того же C#, а некоторые его особенности не встречаются в других языках, зато он очень прост в освоении и подойдет как опытным программистам, так и новичкам.
GameMaker Studio не просто хорошо оптимизирован — в нем немало инструментов для работы над играми в любых жанрах. Так что это хороший выбор для тех, кто хочет погрузиться в геймдизайн и не тратить время на «математику» и поиск расширений.
Он не понравится тем, кто хочет работать с 3D: движок не поддерживает его официально, а разработчики не планируют что-то с этим делать. Да и магазин ассетов GameMaker гораздо беднее, чем у конкурентов.
С недавних пор использовать GameMaker для разработки можно бесплатно, но придется оплатить подписку для публикации своей игры. То есть вы можете опробовать все его возможности бесплатно перед тем, как тратиться на подписку.
Defold
Цена: бесплатный для коммерческого использования
Сильные черты: хорошая оптимизация и поддержка всех платформ
Недостатки: относительная неизвестность, отсутствие 3D
Игры на движке: Family Island, Marginalia Hero
Defold — один из главных конкурентов Unity, но используют его намного реже. Он рассчитан на двухмерные игры, которые программируются на языке Lua и запускаются почти на всех платформах — от HTML5 ( веб-страницы ) до Nintendo Switch. Поэтому он быстро работает и компилирует маловесные билды, в отличие от того же Unity.
У Defold нет встроенного визуального программирования, но есть фанатский плагин, который его добавляет. Также в сети опубликовано много обучающего материала по нему, но меньше, чем у конкурентов.
Как и любой молодой движок, Defold постоянно развивается, так что все недостатки могут исправить в будущем. Сейчас же это необычная альтернатива Unity для тех, кто хочет попробовать себя в программировании, но не желает погружаться в трудности семейства C, общепринятого в «большой» индустрии.
Godot
Цена: бесплатный для коммерческого использования, можно поддержать разработчиков на «Патреоне»
Сильные черты: постоянное развитие, множество поддерживаемых языков программирования
Недостатки: пока с трудом работает с 3D и не поддерживает консоли
Игры на движке: Rogue State Revolution, Kingdoms of the Dump (в разработке)
Godot — это «выбор на перспективу», который примечателен постоянными обновлениями. Он максимально открыт — за движок не надо платить, а на GitHub лежит его исходный код, в котором может покопаться любой желающий. А еще в Godot большой выбор языков программирования соседствует с визуальным скриптованием: сегодня утилита поддерживает C, C# и собственный GDScript, который напоминает Python.
Открытый исходный код движка позволяет участвовать в его разработке всем желающим: например, исправлять баги или предлагать новые функции.
Главная проблема движка в его «перспективности»: Godot разрабатывают уже 14 лет, но в нем до сих пор не очень удобно работать в 3D, а сообщество намного меньше в сравнении с другими продуктами. Ну и разрабатывать консольные игры в нем сложно из-за того, что там нельзя издавать игры, сделанные на полностью открытом ПО без лицензии. К счастью, сооснователь компании-разработчика движка как раз открыл студию для портирования игр с Godot на консоли.
Godot вполне может оказаться очень востребованным на рынке через несколько лет, когда в нем появятся все те функции, которые давно есть у конкурентов. Тогда у Godot появятся все шансы стать главным «противником» Unity.
Stencyl
Stencyl — это максимально простой 2D-конструктор. Его часто используют для того, чтобы обучать детей программированию. В первую очередь он предназначен для мобильных игр и небольших прототипов в духе флеш-игр. Из-за этого работать над большими проектами в нем довольно сложно, зато можно делать небольшие игры в духе популярной Super Dangerous Dungeons.
Также в движке есть Code Mode — возможность писать собственный код на языке Haxe, который синтаксисом напоминает C#.
Недостатки Stencyl похожи на проблемы других простых движков — здесь нет 3D и поддержки консолей. Скорее всего, все это и не появится, так что стоит сразу определить для себя, нужны ли вам эти особенности. Если нет, и вы хотите просто побыстрее выпустить маленькую игру и не возиться с кодом или просто набросать прототип перед переходом на «большой» движок, Stencyl — хороший выбор. Это что-то вроде аналога игровых конструкторов в духе Super Mario Maker, где вы можете сосредоточиться на геймдизайне и картинке, а не технической составляющей.
Construct
Цена: бесплатный с ограничениями, персональная версия стоит 525 Р в месяц или 4199 Р в год
Сильные черты: работает в браузере, не требует программирования
Недостатки: не подходит для 3D и консолей
Игры на движке: Hypnospace Outlaw, Mighty Goose
Construct очень похож на Stencyl — это тоже простой, пусть и более известный конструктор двухмерных проектов, который используют в обучении детей. Как и Stencyl, Construct — это хороший инструмент прототипирования. Если функций местного визуального программирования не хватит, то прямо в блочную систему можно встроить код на JavaScript.
Даже проблемы у движков общие: Construct тоже не подходит для крупных проектов, не работает с 3D и на консолях. На нем можно собрать игру под Xbox, но производительность там оставляет желать лучшего.
Зато Construct основан на JavaScript, поэтому игры на нем могут запускаться на всех остальных платформах, а попробовать движок можно прямо в браузере — не надо скачивать никаких дистрибутивов. Причем всего за пару минут там можно создать первый прототип простым перетаскиванием блоков и выбором действий.
А еще движок постоянно развивается, так что вполне возможно, что в будущих версиях он станет ближе к GameMaker Studio. Пока что это хороший способ сделать первый шаг в игровой разработке или приобщить к ней ребенка.
На чём создавать игры: что есть что в мире геймдева
Так много разных инструментов для создания игр, что голова идёт кругом. Разбираемся, что это вообще такое и что выбрать для себя.
Unity, Unreal Engine, Godot, Game Maker Studio, Source, RPG Maker, CryEngine, Creation Engine, C++, C#, JavaScript, Swift, Java, Objective-C, Lua, Python, PyGame, PHP, Scratch, DirectX, PhysX, OpenGL, Havok, Cocos2D…
Большой список, не правда ли? Это только часть технологий, которые используются для создания игр. Если вы очень хотите войти в геймдев, но пока ещё ничего не знаете, сам этот список может вас отпугнуть. Или же по чьему-нибудь совету вы что-то выберете, а потом, освоившись немного, поймёте, что это не совсем то, что вам нужно.
Эта статья — смесь энциклопедии и дорожной карты, которая поможет вам выбрать инструментарий для себя.
Пишет о программировании, в свободное время создает игры. Мечтает открыть свою студию и выпускать ламповые RPG.
Что есть что
Движки для разработки игр
Игры создаются с помощью движков — набора инструментов, который позволяет работать с графикой, физикой, скриптами и прочим.
Вот скриншот интерфейса движка Unity:
В левом верхнем углу — игровая сцена, на которую можно добавлять объекты, двигать их, убирать и так далее. Ниже расположено игровое окно — в нём можно увидеть, как будет выглядеть готовая игра. Можно даже нажать на кнопку Play и поиграть.
Дальше можно увидеть иерархию объектов на сцене, файловый менеджер и вкладку Inspector — в ней есть разные настройки для выбранного объекта. Кроме того, можно зайти в настройки проекта и указать желаемые показатели для гравитации, освещения, теней, качества графики и всего прочего.
Application Programming Interface — интерфейс программирования
Вы либо используете готовый движок, либо пишете свой — у обоих вариантов есть плюсы и минусы.
Список современных движков:
Впрочем, вы можете обойтись и без движка, если игра очень маленькая, вроде браузерки или небольшого платформера.
Языки программирования
Дальше идут языки программирования — с их помощью вы будете писать для компьютера условия и команды: если А, сделай Б, а если В, сделай Д. Несмотря на то что движки берут на себя огромную часть работы, программировать придётся много.
Перемещение по меню, переход между локациями, управление персонажем, движение камеры, смена музыки, диалоги, система квестов — всё это и многое другое нужно будет запрограммировать. Не говоря уже об игровом искусственном интеллекте.
Если вы уже выбрали какой-то конкретный движок, то и язык нужно выбирать подходящий. Например, в Unity поддерживаются C# и JavaScript
(его модификация, которая называется UnityScript), а в UE4 — С++.
Список языков:
Фреймворки
Вы можете использовать язык, чтобы написать игру без движка. Например, на JavaScript создаются браузерные игры, на C++ или C# — игры для компьютеров, на Java — для устройств на Android, и так далее.
Для этих языков есть либо библиотеки для работы с графикой, либо целые фреймворки для создания игр. Фреймворк — это каркас, почти готовое приложение. Разработчик просто дописывает для этого каркаса какие-то дополнительные функции, подгоняя его тем самым под свои нужды.
Разработчики игры Celeste решили отказаться от движков в пользу фреймворка XNA от Microsoft для языка C#. В итоге у них получился платформер с очень крутым управлением.
Использование библиотек или фреймворков, наряду с написанием собственного движка, даёт максимальную свободу. Но у вас пропадает возможность пользоваться графическим интерфейсом, а все настройки и параметры приходится писать с помощью кода.
Список фреймворков:
Библиотеки
Библиотеки, в отличие от фреймворков, не дают почти готовое приложение, но предоставляют определённые инструменты. Самый простой пример — библиотека Math (математика), которая есть практически в каждом языке программирования.
Использование Math позволяет вам без проблем возводить числа в степени, находить корни, искать модули, высчитывать синусы, косинусы и так далее. Вы не реализуете всё это самостоятельно, а просто вызываете нужную функцию и передаёте ей параметры.
В геймдеве используют более сложные библиотеки, которые позволяют работать с графикой или физикой. Например, графические библиотеки позволяют растрировать игровые объекты.
То есть разработчик не пишет для видеокарты инструкцию, какие пиксели ей выводить. Вместо этого он добавляет в игру спрайты (изображения)
или 3D-модели, а графическая библиотека сама высчитывает, как это должно выглядеть на мониторе.
Физические библиотеки берут на себя работу (сюрприз!) с физикой: ускорение свободного падения, закон сохранения энергии, импульсы, векторы — самые безобидные примеры.
Аналогичные библиотеки есть и для работы со звуком и другими аспектами игровой разработки.
Список графических библиотек:
Список физических библиотек:
Впрочем, если вы используете какой-нибудь движок, то особо задумываться об этом не нужно.
Что из этого выбрать
Если вы новичок, то стоит начать с движка — это поможет лучше понять, как вообще строится процесс создания игр. Выберите один движок и создайте несколько проектов. При этом постарайтесь понять, что происходит под капотом. Если у вас есть опыт в программировании, всё равно начните с движка — причина та же.
Критерии выбора движка следующие:
Если хотите, почитайте отзывы, но они могут вас запутать. Так, многие не любят Unity, но разработчиков на нём становится всё больше.
Source
Например, на Source сделаны практически все игры от Valve вроде Half-Life и Portal.
Какой игровой движок выбрать?
Всём привет! Меня зовут Дядиченко Григорий, и я CTO Foxsys. В разработке я порядка 8 лет, а занимаюсь игровой или AR/VR разработкой последние лет 6. Сразу скажу, что в данной статье нет простого ответа “этот игровой движок лучше”, и она не претендует на объективность. Я лишь расскажу мнение с точки зрения технического директора и человека за плечами которого порядка 40 коммерческих проектов. Если вам интересно — добро пожаловать под кат.
Как выбираются технологии для проекта?
Любой специалист высокого уровня знает, что не существует “лучшего языка программирования”, “лучшего фреймворка” и так далее. Но есть технологии, которые лучше всего под конкретику проекта. Вообще для каждого конкретного проекта в плане выбора технологий я бы порекомендовал дать это сделать экспертам, то есть техническим директорам. Потому что выбор технологии под конкретный проект требует очень широкой экспертизы и знание огромного количества контекста. В целом ошибка в выборе технологической базы чаще всего не смертельна и ведёт просто к дополнительным издержкам на реализацию проекта, но тем не менее.
В целом в выборе технологий со своей точки зрения я руководствуюсь двумя основными подходами: технологический и бизнесовый.
Под технологическим я подразумеваю какая технология лучше всего подходит под проект. Допустим на ней есть необходимые библиотеки, большая часть необходимого функционала готова из коробки, что технологически реализуемо и так далее.
Бизнес-часть принятия решения составляет из себя ответы на вопросы: “Насколько просто найти специалистов на рынке на данной технологии?”, “Какую технологию дороже поддерживать?”, “Какой экспертизой на данный момент обладает команда?” + возможности партнёрства и прочие бизнес-причины.
Продумав все вопросы выбор обычно сводится к достаточно небольшому списку технологий, подходов к разработке и фреймворков. То есть не существует ответа на вопрос “Какой игровой движок лучше?”, так как всё зависит от задачи и множества сопутствующих факторов.
Какой движок лучше выбрать новичку?
Конечно, с моим бекграундом в 6 лет Unity разработке можно было бы предположить, что выбор уже решён и что тут дальше читать то. Но мой ответ вас, возможно, удивит. На данный момент я считаю, что, если вы совсем новичок, ещё не погрузились ни в один движок и только начинаете свой путь лучшим выбором будет Unreal Engine. И пока сообщество не начало обвинять меня в предательстве я объясню свою точку зрения.
Я считаю, что эти движки в большинстве задач связанных с 3д графикой по сути идентичны. Чуть ниже я подробнее распишу почему. Мой выбор на данный момент связан не столько с технологическими причинами, сколько с работой компаний со своими комьюнити. И на данный момент я вижу в разы больше интересных программ, активностей, образовательных мероприятий и прочего со стороны Epic Games. На Unity, конечно, сидит почти весь мобильный геймдев, в 3 раза больше вакансий чем на UE и так далее. Но думаю, это со временем изменится. Да и 134 (на момент написания статьи) открытых позиций это немало. Современная разработка устроена так, что в целом вы можете учить что угодно, что вам больше нравится, и вы всегда найдёте себе работу. Поэтому это мнение на тему новичков, так как если вы выбрали для себя Unity — это отличный выбор. 6 лет работаю на Unity и горя не знаю. А вот для совсем новичков я вижу просто больше образовательных возможностей и интересного со стороны эпиков. Но всё может измениться.
С точки же зрения опытного разработчика в определённый момент конкретные технологии, фреймворки и языки — это вопрос вашего удобства. Перескочить на другую технологию для сеньора можно где-то за полгода, если он глубоко знает фундаментальные основы Computer Science. И смысла перепрофилироваться я тоже не вижу, потому что потребность в Unity специалистах большая, и движок отлично справляется со своими задачами.
На Unreal Engine лучше графика?
Небольшая оговорка. Всё что будет ниже не относится к новой технологии рендера, хотя пока по отзывам от знакомых UE разработчиков она работает не так красиво и хорошо, как хотелось бы.
Это чистой воды миф совершенно непонятно откуда взявшийся. В 3д графика движка настолько хороша, насколько хорош его свет и Post Processing. И с точки зрения что не особо напрягаясь и где можно накрутить, они для меня практически идентичны. Вот собственно наилучшее сравнение, которое я находил.
Что же лучше для проекта?
Всё всегда зависит от специалистов и бюджетов. И если мы берём среднебюджетный проект (коих сейчас большинство), то я вообще не вижу разницы между движками. Если мы берём аутсорс которым я занимаюсь, то вообще без разницы. В те бюджеты, которыми обладает средний проект у вас не будет даже возможности добраться до багов движков, до проблем с невозможностью что-то сделать, да и вы не будете этим заниматься. Любой эксперт при имеющемся бюджете знает, как сделать проект на технологии Х в этот бюджет качественно.
Единственное, хотя я немного не в контексте движка UE, но я бы его не стал бы брать для 2D проектов в принципе. Так как последние время Unity выпускает много крутых инструментов для 2D разработки. Поэтому мне кажется, что пока в этой области UE рассматривать нет особого смысла. Есть конечно менее популярные движки для этой задачи типа Defold или же Game Maker, но их я бы не стал брать по бизнес-причинам. Потому что я не уверен, что не столкнусь с проблемой того, что мне неоткуда будет расширять команду, так как специалистов на них днём с огнём не сыщешь.
И оба движка я бы в целом не рассматривал бы для web проектов. Если в UE я просто не знаю, что с поддержкой веба (может её там и нет) То с Unity прикол в двух основных проблемах. Первая, что там до сих пор нет поддержки мобильных браузеров. Да, на топовых телефонах оно даже как-то работает, но это очень рискованная затея брать технологию, которая официально не поддерживается для продакшен решения. А второе и самое главное — это время загрузки. Основной прикол веба в быстрой доставке контента до пользователей (помимо того, что там нет ограничений и правил сторов). Поэтому время загрузки Unity убивает эту фишку напрочь. Для веб проектов я чаще всего беру pixi.js, three.js, playcanvas и react. Что в этом списке забыл реакт? Это длинная история для другой статьи, если кому-то это интересно.
Собственно, по этим же причинам я для себя пока не вижу смысла переходить с Unity. За 40 коммерческих проектов разного масштаба я ни разу не упирался в стену, чтобы что-то было нереально сделать на Unity и реально на Unreal Engine. Плюс для меня, как для бывшего С++ разработчика (невысокого уровня) основным минусом UE является С++. C# как язык в разы приятнее. Кто знает undefined behavior и сложные утечки памяти, тот поймёт.
Опять-таки, если вы разбираетесь в компиляции, исполняемых средах и прочем, вы знаете, что на самом деле к любому движку можно прикрутить почти любой язык (а точнее его подмножество) Но это странно брать движок и писать для него библиотеки на языке не поддерживаемом этим движком. И тут мы переходим к последнему и самому спорному.
Открытые исходники — это хорошо?
Нет, нет и ещё раз нет. И в этом я довольно категоричен. Даже беря в работу Unreal Engine, я рассматриваю его как чёрный ящик. Потому что фреймворк берётся в работу не для того, чтобы поддерживать свою версию этого фреймворка. Наличие такой возможности для компаний, которые могут заниматься подобной деятельностью есть и в Unity, но вы никогда не хотите этим заниматься. И причин этого целая масса. Начиная от ада с конфликтами версий в случае необходимости переезда на новую версию. Движок берётся не для того, чтобы исправлять его баги. Безусловно важной является не открытость исходников, а возможность надстройки своей системы поверх движка. И этой возможностью обладают и юнити, и анреал. Открытость к расширению и закрытость к модификации так сказать. Потому что в этом случае обновляться можно спокойнее, хотя обновление — это всегда важный шаг в отношениях с любой технологией, и делать это надо крайне осторожно.