Unity берет скрипты, написанные на C #, UnityScript (на основе JavaScript) или Boo (на основе Python), и компилирует их в моно сборки.Эти сборки + 3d модели, звуки и текстуры, необходимые для вашей игры, сжимаются в файл .unity3d, который загружается их плагином для браузера.Поскольку почти вся логика игры заключается в управляемых моно сборках, она работает на кросс-платформенных платформах с очень небольшим количеством специфических для каждой платформы особенностей.
Они недавно переписали свой код обнаружения и установки плагинов, так что очень легко сбросить блокjavascript на веб-страницу, которая показывает контент Unity, если у пользователя есть плагин, или другой контент (изображение, flash, видео), если его нет.Я считаю, что их плагин поддерживает все браузеры класса А на Mac и Windows, и плагин можно установить без перезапуска браузера.
Одним из преимуществ движка Unity является то, что вы можете взять многоСоберите полки в сборке и включите их в свой проект и вызывайте их из кода Unity.Но вы должны знать, что эти сборки действительно могут раздуть размер файла .unity3d.
Другое преимущество заключается в том, что вы можете легко писать компоненты, которые предоставляют настраиваемые параметры, которые могут быть изменены нетехническими людьми.
И еще одно преимущество заключается в том, что хорошо написанный проект может быть перенесен на / с iPhone, Standalone, Android, Web и т. Д. Менее чем за день.Я лично сделал iPhone с Web, просто изменив свой обработчик ввода и изменив сжатие текстур.
Один большой недостаток заключается в том, что, поскольку приложение выполняет управляемый код, любопытному или злонамеренному человеку не слишком сложно декомпилироватьсборки в полностью читаемый код.Поэтому вам нужно подумать о том, что кто-то может сделать с этой информацией (читерство в мультиплеере, написание ботов, фальсификация рекордов и т. Д.).Возможно запутать ваши сборки, но добавить этот шаг в процесс сборки не так просто.