/JEngine

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

Primary LanguageC#MIT LicenseMIT

JEngine

license last topLanguage status badge

Documentation »
(The documentation is yet in Chinese and can use Google Translated version from here)
·
中文页面 »

JENGINE v0.8.0f7

Alt

JEngine is an out-of-the-box framework designed for Unity developers. It encapsulates powerful functions. Beginners can also get started quickly and easily create games that can be updated in runtime.

The master branch is the latest version that the developers think can be used normally and will not have too many problems. It is recommended to use and has the most powerful functions (also it fixes the bugs in the old versions);

The 0.7.x branch is currently in use by most commercial projects, it is the most popular version in 2022 with various useful and high performance features, this branch will not be updated or maintained any more (this branch has full documentations but few official tutorial videos);

The 0.6.x branch was used by most commercial projects, it has complete content, sufficient documentation and videos, and will not be updated or maintained any more;

The 0.5.x branch is being used by some commercial projects, will not be updated or maintained;

The development branch is the development branch. You are welcome to make changes and PRs in this branch after fork, and you are also welcome to submit issues!

If you think JEngine is helpful to you, please give this framework a Star!

Requirement

  • Unity 2020.3.4+
  • .net framework 4.x / .net 4.x / net framework

Packages

Different built-in and additional packages for JEngine

Package Name Description Type Link
JEngine.Core Supports hot update in runtime.
In addition, it provides secure, high performance features.
Built-in JEngine
JEngine.AntiCheat Prevents memory hack
(i.e. using GameGuardian to dump and modify memory).
Additional JEngine.AntiCheat
JEngine.Localization Provides multi-lnguage feature in game. Additional JEngine.Localization
JEngine.Misc Additional miscellaneous features. Additional JEngine.Misc
LitJson Supports JSON serialization/deserialization
(as C# objects or JsonData)
Additional JEngine.LitJson
Protobuf-net Supports protobuf serilization/deserialization Additional JEngine.Protobuf-net
MetaJUI MetaJUI is a UI framework customized for JEngine. Of course, you can also transplant it to your own engineering projects through simple modifications. Additional MetaJUI
MetaExcelDataTool MetaExcelDataTool is an Excel table guide tool customized for JEngine. Of course, you can also transplant it to your own project through simple modifications. Additional MetaExcelDataTool

Dependencies

Stargazers over time

Stargazers over time

Contributors

v0.8.0 New Features

  • Supported WebGL
  • Removed JUI (will be redesigned shortly)
  • Optimized LifeCycleMgr performance
  • Optimized ThreadMgr features
  • Optimized JStream performance
  • Optimized JBehaviour performance
  • Optimized MonoBehaviour performance
  • Optimized FpsMonitor performance
  • Optimized CryptoMgr interfaces
  • Optimized JBehaviour/ClassBind Object/MonoBehaviour GC
  • Optimized GetComponent(s)/FindObject(s)OfType performance
  • Switched to YooAsset for asset management module (instead of Bundle Master)
  • NEW FEATURE UnsafeMgr which provides unsafe (use for optimization) features
  • NEW FEATURE UnmanagedMemoryPool which supports allocating unmanaged memory with pooling
  • NEW FEATURE CoroutineMgr which supports executing/stopping coroutines from non-MonoBehaviour class
  • NEW STRUCTURE Split JEngine source code to multiple packages

Click here to see the change log

Recommendations

  • IFramework - Simple Unity Tools
  • QFramework - Your first K.I.S.S Unity 3D Framework.
  • TEngine - Unity框架解决方案
  • BundleMaster - Unity资源加载大师
  • Nino - Definitely useful and high performance modules for C# projects, especially for Unity.