Об этом проекте
HybridCLR — это кроссплатформенное нативное решение для горячего обновления C# в Unity. Оно расширяет среду выполнения il2cpp, внедряя эффективный регистровый интерпретатор, превращая чисто AOT-среду в гибридный режим AOT+Interpreter. Это позволяет динамически загружать сборки на низком уровне, поддерживая все платформы il2cpp: Android, iOS, консоли, WebGL и другие.
Ключевые особенности:
- Почти полная реализация спецификации ECMA-335, лишь极少 функций не поддерживается
- Нулевой порог входа: код горячего обновления беспрепятственно работает с AOT-кодом, поддерживая泛型, рефлексию, наследование и т.д., без специального кода или генерации кода
- Полная поддержка многопоточности (volatile, ThreadStatic, async Task и др.)
- Идеальная совместимость с рабочим процессом Unity: поддержка MonoBehaviour, ScriptableObject, технологии DOTS в горячем обновлении, корректная инициализация скриптов, прикреплённых к ресурсам
- Высокопроизводительный регистровый интерпретатор, значительно превосходящий другие решения по производительности
- Эффективное использование памяти: классы горячего обновления занимают столько же памяти, сколько обычные классы C#
- Уникальная технология DHE (дифференциальное гибридное выполнение): неизменённые функции выполняются через AOT, изменённые — через интерпретатор, производительность близка к нативной
- Поддержка горячей перезагрузки (100% выгрузка сборок), горячего исправления (без перезапуска), шифрования DLL
- Поддержка MonoPInvokeCallback и взаимодействия с Lua/JS/Python и другими языками
Поддерживаются все версии Unity LTS с 2019.4 по 6000.x, а также Tuanjie Engine и платформа HarmonyOS. Тысячи коммерческих проектов уже используют решение, более 100 игр в топ-500 бесплатных игр iOS, включая MMORPG, тяжёлые карточные игры, tower defense и другие жанры. Широко используется ведущими игровыми компаниями Китая.
Проект распространяется по лицензии MIT, предоставляя полную документацию, краткое руководство по началу работы, коммерческие примеры и коммерческую поддержку. Автор walon — основатель Code Philosophy, выпускник физического факультета Университета Цинхуа. Связанные проекты: LeanCLR (лёгкая кроссплатформенная реализация CLR), ZLua, ZenTS, Obfuz и другие.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.