프로젝트 소개

HybridCLR는 Unity를 위한 전 플랫폼 네이티브 C# 핫업데이트 솔루션입니다. il2cpp 런타임을 확장하여 효율적인 레지스터 인터프리터를 도입하고, 순수 AOT 런타임을 AOT+Interpreter 하이브리드 모드로 전환함으로써 저수준에서 어셈블리 동적 로딩을 구현하며, Android, iOS, 콘솔, WebGL 등 il2cpp가 지원하는 모든 플랫폼에서 사용할 수 있습니다. 핵심 특징은 다음과 같습니다: - ECMA-335 사양을 거의 완전하게 구현하였으며, 지원하지 않는 특성은 극히 일부에 불과합니다 - 제로 학습 비용: 핫업데이트 코드가 AOT 코드와 원활하게 협업하며, 제네릭, 리플렉션, 상속 등을 지원하고 특수한 코드나 코드 생성이 필요 없습니다 - 멀티스레드 완전 지원(volatile, ThreadStatic, async Task 등) - Unity 워크플로우와 완벽하게 호환: 핫업데이트 MonoBehaviour, ScriptableObject, DOTS 기술을 지원하며, 리소스에 연결된 스크립트가 올바르게 인스턴스화됩니다 - 고성능 레지스터 인터프리터로 성능 지표가 다른 솔루션보다 크게 우수합니다 - 메모리 효율성: 핫업데이트 클래스는 일반 C# 클래스와 동일한 메모리를 사용합니다 - 독창적인 DHE(차분 하이브리드 실행) 기술: 수정되지 않은 함수는 AOT로 실행되고 변경된 함수는 인터프리터로 실행되어 성능이 네이티브에 근접합니다 - 핫 리로드(100% 어셈블리 언로드), 핫 픽스(재시작 불필요), dll 암호화 지원 - MonoPInvokeCallback 지원 및 Lua/JS/Python 등 언어와의 상호 작용 지원 Unity 2019.4부터 6000.x까지 전체 LTS 버전과 Tuanjie 엔진 및 HarmonyOS 플랫폼을 지원합니다. 수천 개의 상업 프로젝트가 도입했으며, iOS 무료 차트 상위 500위에 든 수백 개 게임이 채택했고, MMORPG, 하드코어 카드 게임, 타워 디펜스 등 장르를 아우르며 중국 상위 게임 회사들이 광범위하게 사용하고 있습니다. 프로젝트는 MIT 라이선스를 채택했으며, 완전한 문서, 빠른 시작 가이드, 상업 사례 및 상업화 지원을 제공합니다. 작성자 walon은 Code Philosophy의 창립자이며 칭화대학교 물리학과를 졸업했습니다. 관련 프로젝트로는 LeanCLR(경량 크로스 플랫폼 CLR 구현), ZLua, ZenTS, Obfuz 등이 있습니다.