このプロジェクトについて
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 Engine)やHarmonyOS(鴻蒙)プラットフォームに対応済み。数千の商用プロジェクトが導入しており、iOS無料ランキング上位500位以内のゲームも数百タイトルが採用している。MMORPG、ヘビー系カードゲーム、タワーディフェンスなどのジャンルをカバーし、中国の大手ゲーム会社で広く使用されている。
プロジェクトはMITライセンスを採用しており、完全なドキュメント、クイックスタートガイド、商用事例、商用サポートを提供している。作者のwalonはCode Philosophyの創設者で、清華大学物理学科の卒業生である。関連プロジェクトには、LeanCLR(軽量クロスプラットフォームCLR実装)、ZLua、ZenTS、Obfuzなどがある。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.