Mono для Unreal Engine
Автор: Skyblade
Xamarin Inc. опубликовал проект Mono for Unreal Engine, который позволяет писать пользователям этого игрового движка код на С# или F#.
- Полная поддержка горячей перезагрузки (Hot Reload), т.е. после компиляции кода С# он сразу перезагружается Unreal Editor-ом.
- Интеграция с IDE MonoDevelop и Xamarin Studio
- Полная поддержка отладки кода C#
- Бесшовная интеграция с Blueprint-ами. Blueprint-ы получаеют доступ к коду С#, как к обычному коду С++.
- Смешанные решения на C#/C++/Blueprint. Доступ к коду происходит и в обратную сторону, т.е. код С# получает доступ к коду Blueprint-ов.
- Доступ к Native коду. Помимо автоматически генерируемых привязок С++ кода к С# и обратно, Mono для Unreal Engine позволяет использовать Platform Invoke для любых доступных API редактора, включая пользовательский код С/С++.
- Асинхронной программирование. Встроенные возможности компилятора C# намного упрощают написание асинхронной логики, превращая её из последовательного кода в машину состояний.
- Mono Mobile Profile - ядро API, очищенное от ненужных возможностей оригинальной платформы .NET. Это же ядро используется в продуктах Xamarin для Android, iOS и Mac.
Планы дальнейшего улучшения продукта:
- Поддержка F#
- Поддержка новых платформ: текущий релиз поддерживает Windows и Mac, но планируется выпуск для Android и iOS.
- Полное слияние аснхронного кода с API UnrealEngine-а. Хотя сейчас компилятор C# позволяет писать асинхронный код, который затем исполняется движком, UnrealEngine не учитывает этот фактор при вызове таких методов. В будущем можно будет сделать взаимодействие кода UnrealEngine и асинхронного API .NET более согласованным.
- Интерактивная разработка. Разработчики Mono for Unreal Engine хотят использовать REPL для C# и F#, чтобы дать пользователям возможность интерактивно писать код в Xamarin Sketches и видеть результаты его выполнения сразу, по мере набора текста.
- Доступ к native API различных платформ, в частности, к уже существующим Android APIs, iOS APIs и Mac APIs. В данный момент не существует привязки Mono к Windows API, но её могут добавить при наличии достаточного количества запросов на внедрение данной функции.
Как сообщается в блоге Miguel de Icaza, Mono для Unreal Engine полностью поддерживает .NET 4.5, в отличие от его реализации в Unity3D, где до сих пор используется версия 2.0 (3.5).
24 октября 2014 (Обновление: 15 дек 2021)