Skip to content

The solution that allows unity games to update in runtime. 使Unity开发的游戏支持热更新的解决方案。

License

Notifications You must be signed in to change notification settings

JasonXuDeveloper/JEngine

JEngine

Version Tests License Last Commit Top Language FOSSA Status CodeFactor OpenSSF Scorecard OpenSSF Best Practices Ask DeepWiki

An out-of-the-box Unity framework for hot updatable games

Documentation | 中文文档

Why JEngine?

  • Lightweight - Only core package (few files) required; add optional packages as needed
  • One-Click Build - JEngine Panel builds code + assets with obfuscation in one click
  • 10x+ Performance - HybridCLR outperforms ILRuntime/Lua hot update solutions
  • Zero/Minimal GC - UniTask (GC-free async) + Nino (high-performance serialization)
  • All Platforms - iOS, Android, Windows, macOS, WebGL, WeChat, Douyin, Alipay, TapTap
  • Secure Updates - Obfuscate hot update DLL + encrypt resources (assets & DLL/PDB) with XOR/AES/ChaCha20
  • Commercial Ready - Production-proven by individuals and enterprise teams

Overview

JEngine is a Unity framework that enables runtime hot updates for games. Designed for both beginners and professionals, it provides secure, high-performance features out of the box.

Quick Start

Requirements

  • Unity 2022.3+

Branch Information

Branch Status Description
master Recommended Latest stable version with the most powerful features
0.8.x Legacy Most popular 2023 version (no longer maintained)
0.7.x Legacy Most popular 2022 version (no longer maintained)
0.6.x Legacy Complete with full documentation (no longer maintained)
0.5.x Legacy Used by some commercial projects (no longer maintained)

Packages

Official Packages

Package Type Coverage Description
JEngine.Core Required N/A Hot update support with secure, high-performance features
JEngine.Util Optional Util Coverage Utility classes including JAction and JObjectPool

JEngine.Util Features:

  • JAction - Zero-GC chainable async task framework with fluent API, object pooling, delays, conditions, and loops
  • JObjectPool - Thread-safe, lock-free generic object pooling using CAS operations

Third-Party Packages

Package Description Link
MetaJUI Customized UI framework for JEngine Repository
MetaExcelDataTool Excel table guide tool Repository

Dependencies

Dependency Description Repository
Obfuz Code obfuscation GitHub
HybridCLR Runtime code execution GitHub
YooAssets Runtime resource updates GitHub

🎉 Latest Features (v1.0.9)

  • ci: add DCO sign-off check for pull requests (#558)
  • ci: include non-conventional commits in changelog (#557)
  • ci: add automated testing and release workflows (#554)
  • ci: use app token for releases and consistent CHANGE.md formatting (#571)
  • ci: revert 1.0.7 release and fix workflow bugs (#570)
  • ci: use pipe delimiter in sed to avoid URL slash conflict (#569)
  • ci: improve changelog with PR hyperlinks and proper contributors (#568)
  • ci: use awk for reliable README multiline replacement (#567)
  • ci: improve release workflow (#566)
  • ci: store regex in variable to fix bash parsing error (#564)
  • ci: use buildless mode for CodeQL Unity analysis (#563)
  • ci: configure CodeQL to scan only JEngine source code (#562)
  • ci: correct test artifact paths in unity-tests workflow (#561)

📋 View Complete Changelog

Project Statistics

Stargazers over time

Showcase

If your project uses JEngine, feel free to contact the author - we'd be happy to showcase your work here!

Alice's Dream Space Grinding Panic Harvest Leeks MingMing Match

Alice's Dream Space

Grinding Panic

Harvest Leeks

MingMing Match

Rabbit Restaurant Cangyuan World Kz Spirit Boundless Cinema

Rabbit Restaurant

Cangyuan World

Kz Spirit

Boundless Cinema

Contributors

Recommendations

Check out these other excellent Unity frameworks:

  • IFramework - Simple Unity Tools
  • QFramework - Your first K.I.S.S Unity 3D Framework
  • TEngine - Unity framework solution
  • BundleMaster - Unity resource loading master
  • Nino - Ultimate high-performance binary serialization library for C#.

If JEngine helps you, please give it a Star!