Skip to content

JEngine是针对Unity开发者设计的开箱即用的框架,封装了强大的功能,小白也能快速上手,轻松制作可以热更新的游戏 | JEngine is a streamlined and easy-to-use framework designed for Unity Programmers which contains powerful features, beginners can start up quickly and making hot update-able games easily

License

Notifications You must be signed in to change notification settings

MF-JIN/JEngine

This branch is 641 commits behind JasonXuDeveloper/JEngine:master.

Folders and files

NameName
Last commit message
Last commit date
Jan 4, 2021
Dec 25, 2020
Jan 4, 2021
Jul 16, 2020
Jan 4, 2021
Jan 4, 2021

Repository files navigation

JENGINE v0.6.1

JEngine是针对Unity开发者设计的开箱即用的框架,封装了强大的功能,小白也能快速上手轻松制作可以热更新的游戏

mater分支为开发者认为的可以正常使用,不会有太大问题的最新版本;

稳定版本请使用0.5.x分支;

development分支为开发分支,欢迎fork后在该分支进行修改并PR,也欢迎提交issue!

作者将于2020年12月11日,北京时间晚上9点进行JEngine0.6直播讲解,将讲解底层机制、与0.5版本的差距、功能使用等,敬请期待! v0.6系列文档将在直播后开发!

topLanguage size issue license last

QQ群: 921271552

已有项目使用JEngine热更新,并成功上架iOS

English Document

banner

框架相关

主题 地址
教学视频:介绍+使用+更新+入门 点击跳转
教学视频:核心功能(上)自动绑定+基类+UI+资源解决方案 点击跳转
教学视频:核心功能(中)JAction队列解决方案全系列 点击跳转
教学视频:核心功能(下)数据持久化+对象池+助手类+面板 点击跳转
框架文档 点击跳转
知乎文章 点击跳转
项目地址 GitHub地址
国内镜像 Gitee跳转
QQ群聊 点击加入

框架实战

主题 地址
【Unity x JEngine 开发可热更爆款小游戏】第一集(系列介绍及游戏策划) 点击跳转
【Unity x JEngine 开发可热更爆款小游戏】第二集(构建项目及界面设计) 点击跳转
【Unity x JEngine 开发可热更爆款小游戏】第三集(场景界面设计) 点击跳转
【Unity x JEngine 开发可热更爆款小游戏】第四集(界面设计及代码开发) 点击跳转
【Unity x JEngine 开发可热更爆款小游戏】第五集(首页UI代码开发) 点击跳转
【Unity x JEngine 开发可热更爆款小游戏】第六集(Bug修复+代码开发+音乐配置) 点击跳转
【Unity x JEngine 开发可热更爆款小游戏】第七集(关卡设计+编辑器开发+数据生成) 点击跳转
【Unity x JEngine 开发可热更爆款小游戏】第八集(关卡读取+界面生成) 点击跳转
【Unity x JEngine 开发可热更爆款小游戏】第九集(关卡生成+按钮事件+游戏管理类) 点击跳转

近期star趋势

Stargazers over time

JEngine能够做些什么?

  • 热更新解决方案

    • 资源热更基于XAsset,JEngine的作者是该框架贡献成员之一
    • C#代码热更基于ILRuntime,JEngine的作者也是该框架U3D工程贡献成员之一
    • 代码加密,C#热更代码生成的DLL会通过AES-128-ECB模式加密进Assetbundle,运行游戏时动态解密
    • 资源加密,XAsset包含VFS功能,可以对资源进行一定程度的加密,AssetStudio无法破解资源
    • 自动赋值,热更脚本可自动添加到游戏物体或预制体,且可自动赋值,不需要手动写代码赋值
  • Action队列解决方案

    • 更少的代码,实现更多功能,效率大幅度提高
    • 轻松执行、延时、等待、定期循环、条件循环、同步/异步运行、取消队列
    • 主线程运行代码
  • UI解决方案

    • UI框架,单例模式更好管理界面
    • 组件自动获取,继承面板基类后通过name获取UI组件
    • UI周期,轻松管理生命周期链式编程让代码更美观
    • UI定期循环更新,可以选择毫秒更新或帧更新,可以指定更新频率
    • UI绑定数据,当数据更新,即可执行绑定的方法
  • 基类解决方案

    • 轻松管理生命周期
    • 可以帧循环,或者毫秒循环
    • 不依赖MonoBehaviour
    • 简单好用
  • 基于XAsset的资源加载方案

    • 支持同步/异步加载资源
    • 泛型方法,轻松使用
    • 异步加载热更场景
  • 自动绑定热更脚本到GameObject

    • 输入命名空间,类名,即可自动绑定热更脚本至物体
    • 可对该脚本public/private/static数值进行赋值
    • 特殊类型支持拖拽赋值
    • 不需要是Mono类,非MonoBehaviour派生类也可正常绑定至GameObject进行赋值,并且可以正常获取
  • 数据持久化解决方案

    • 字符串存本地
    • JSON存本地
    • Protobuf二进制存本地
    • 自带加密
  • 多语言解决方案

    • CSV配表
    • 轻松转换语种
    • 可通过静态方法获取key对应的字符串
    • 可让Text自动根据语言切换文字
  • 内存加密解决方案

    • 支持90%数值类型
    • 偏移值加密
    • 转JSON和Protobuf普通数据结构一样
    • 可以捕获内存作弊
  • 事件派发解决方案

    • 不同于其他事件派发解决方案不需要注册方法名,只需要注册类
    • 类打标签自动注册类里全部方法
    • 主线程或子线程派发
  • 网络层解决方案

    • 目前支持Websocket
    • 有一套SocketIO的消息模型,开箱即用
    • 支持同步、异步并行、纯异步发送消息
  • 对象池解决方案

    • 大幅度提升性能及减少内存开销,相比于常规Instantiate操作
    • 无需重复创建新对象!
    • 智能算法,贪心算法匹配GameObject,对象池满可自动添加!
  • 加密解密解决方案

    • AES加密
    • 支持字符串
    • 支持二进制
  • 序列化解决方案

    • String
    • JSON
    • Protobuf-net二进制
  • 面板类

    • ILRuntime适配器自动生成
    • Protobfuf文件与CS类互转
  • JEngine面板

  • 还有更多功能,尽情自行探索!

JEngine的目的是针对游戏开发者提供精简、美观且高效代码功能,并且使游戏开发者更加轻松的制作游戏

如果你觉得JEngine对你有帮助,请给该框架一个Star!

v0.6.1 最新功能

  • ILRuntime升级到 v1.6.6
  • ILRuntime 跨域适配器自动生成优化
  • ILRuntime 自动注册适配器
  • 更多 JEngine Demos
  • 更简洁的 Logs
  • JBehaviour & JEvent 等 支持定位报错到准确行数
  • UIUtility 新增缓存字典使 加载UI组件更快
  • 支持 全部MonoBehaviour事件
  • 继承MonoBehaviour的基类自动生成 带有MonoBehaviour周期事件注册的适配器
  • ClassBind支持根据情况智能挂载 不同的适配器
  • 支持 Add & Get Component 更多 基类继承MonoBehaviour的类型
  • 针对MonoBehaviour派生类的适配器自动生成编辑器脚本
  • 支持 Invoke, InvokeRepeating, IsInvoking, CancelInvoke 在热更里使用
  • JEvent 支持 监听基类方法
  • Bug 修复 之对预制体修改的保存
  • JSaver支持Get默认值
  • 更好的面板
  • 支持XAsset Pro(主要特色分包,需自行订阅)

点击此处查看历史版本功能(英文)

即将推出

  • 热更资源及代码的开发模式
  • 加密解密DLL
  • 对象池
  • 内存加密类
  • JPrefab,一个更容易管理热更预制体的解决方案
  • Socket
  • JUI延伸API
  • UI特效
  • 优化算法、代码(一直在优化)

JEngine热更逻辑

flowchart

推荐项目

About

JEngine是针对Unity开发者设计的开箱即用的框架,封装了强大的功能,小白也能快速上手,轻松制作可以热更新的游戏 | JEngine is a streamlined and easy-to-use framework designed for Unity Programmers which contains powerful features, beginners can start up quickly and making hot update-able games easily

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 99.7%
  • Other 0.3%