MonoGame — открытый C#‑фреймворк для разработки игр, вдохновлённый XNA, выпустил крупное обновление 3.8.5. Релиз сочетает архитектурный рефакторинг с новыми целевыми платформами и инструментами контента.
Новая нативная архитектура
Главное изменение — переход к единой нативной (C/C++) динамической библиотеке, которая берёт на себя всю платформенно‑зависимую логику. C#‑часть фреймворка становится полностью платформенно‑независимой.
Это уменьшает зависимость от множества сторонних C#‑обёрток, упрощает управление зависимостями и даёт команде прямой контроль над кодом. В результате баги проще находить и исправлять.
Новые графические бэкенды
DesktopVK (Vulkan)
Добавлен новый десктопный таргет DesktopVK на базе Vulkan для Windows, Mac и Linux. Он использует связку SDL2 + Vulkan + FAudio и основан на коде, изначально сделанном под Google Stadia.
Производительность DesktopVK уже сопоставима с существующими таргетами. В долгосрочной перспективе он должен заменить старый DesktopGL.
WindowsDX12
Появился таргет WindowsDX12 на Direct3D 12, совместимый с Microsoft GDK. Это упрощает публикацию игр в Microsoft Store и PC Game Pass.
Код DX12 разделяется с Xbox One и Xbox Series, что даёт единое поведение между ПК и консолями и снижает нагрузку на поддержку. Производительность на уровне текущего DX11‑бэкенда.
Code-Centric Content Builder
Введён новый Content Builder, который вместо статических конфигурационных файлов использует C#‑код. Разработчик ведёт обычный C#‑проект для управления ассетами: фильтрации, компиляции и настройки пайплайна.
Такой подход позволяет встраивать пайплайн ресурсов прямо в собственные редакторы или дев‑сборки игры, делая процесс сборки контента более гибким и расширяемым.
Поддержка ARM64
MonoGame теперь поставляет dev‑ и runtime‑пакеты для ARM64 под Windows, Mac и Linux. Игры можно не только запускать на ARM‑устройствах, но и полностью собирать на них.
Это открывает удобные пайплайны разработки на маломощном железе, включая Raspberry Pi 4 и 5.
Прочие улучшения
Релиз включает более 100 улучшений качества жизни:
- новая реализация Random;
- расширенная поддержка геймпадов — до 8 контроллеров;
- фикс зависаний в полноэкранном режиме;
- исправления layout‑проблем со SpriteFont;
- устранение крашей при завершении игры во время проигрывания музыки.
Помимо NuGet‑пакетов, теперь есть отдельный скачиваемый бинарный релиз.
Выводы
- MonoGame переходит на единую C/C++ нативную библиотеку, упрощая архитектуру и поддержку.
- Новые таргеты DesktopVK (Vulkan) и WindowsDX12 расширяют и обновляют графические бэкенды.
- Code-Centric Content Builder переводит управление контентом в C#‑код, облегчая интеграцию с кастомными тулзами.
- Полноценная ARM64‑поддержка позволяет разрабатывать и собирать игры прямо на ARM‑устройствах.
- Более 100 QoL‑улучшений и багфиксов делают фреймворк стабильнее и удобнее для продакшена.