Об этом проекте

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 и другие.