unity客户端开源框架
TinaX Framework
链接:https://github.com/yomunsam/TinaX/tree/master
TinaX 主要实现了以下功能:
Lua 语言支持
出于普遍的热更新需求,TinaX原生提供了基于 Tencent/xlua 的Lua语言运行环境,并为主要功能提供了Lua层面的API支持。
如果不需要Lua环境的话,也可以在项目中将Lua相关功能完全关闭,不会影响包体体积。
虚拟文件系统
虚拟文件系统(VFS: Virtual File System)是TinaX 中实现的基于用来管理资源的功能模块。VFS为业务逻辑开发提供了可虚拟寻址的、统一的资源加载API,并在系统内部处理AssetBundle的依赖加载与释放。
VFS支持热更新。
UIKit 用户界面系统
基于uGUI提供的UIKit工具,提供了统一的、基于页面的UI管理框架。
其他
I18N 国际化系统
跨语言的事件消息广播
场景管理工具
简单音频管理
wwise扩展接口
全局时间任务调度
……
uFrame
链接:https://github.com/uFrame/uFrame.MVVM
uFrame MVVM是uFrame视觉编码引擎实现的MVVM框架。
xasset
链接:https://github.com/xasset/xasset
xasset 是跨平台 Unity 资源系统。
xasset 提供开箱即用的分包、加密和边玩边下等技术解决方案,可以实现更快的开发效率和更流畅的用户体验。
ColaFrameWork
链接: https://github.com/XINCGer/ColaFrameWork
数据配置表管理
事件/消息处理中心
UI框架(View层)
资源管理 基于xasset
资源引用查找与依赖关系分析插件
编辑器拓展与工具
日志控制台拓展
网络通信与协议
寻路系统
值动画/缓动动画
IFramework
链接: https://github.com/OnClick9927/IFramework
GUI的扩展,方便编辑器扩展 支持链式,标签形式以及最基本的形式
LOG界面
多语言?
A星寻路
对象池
代码自动创建
自定义线程池(无需自己管理线程)
net 支持TCP UDP WS
MyUnityFrameWork
链接: https://github.com/GaoKaiHaHa/MyUnityFrameWork
Unity框架,组件可插拔,可视化编辑,代码自动生成。
包含资源加载,配置加载,数据加载,UI管理,音频管理,日志管理,动画系统,特效系统等,以及对应编辑器工具
支持Android、Ios、PC、WEBGL
项目中的Script/Core目录就是完整框架
游戏流程管理
资源加载
热更新管理器
Lua
配置加载
数据加载
持久化数据
游戏数据查看器
输入管理器
联网系统
UI系统
新手引导系统
游戏对象管理器
反射查看器
Unity内置GUIStyle查看器
Unity内置Icon查看器
SDK管理器
音频管理
开发者工具 框架内置复盘模式,重放Bug出现的所有输入,方便复现Bug,并支持导出操作记录
动画系统
特效系统
TEngine
链接: https://github.com/ALEXTANGXIAO/TEngine
TEngine是一个简单(新手友好)且强大的Unity框架,对于需要一套上手快、文档清晰、高性能且可拓展性极强的开发者或者团队来说是一个很好的游戏开发框架解决方案。
五分钟即可上手整套开发流程,代码整洁,思路清晰,功能强大。
高效的事件系统GameEventMgr,可以指定事件ID/事件String监听和分发事件。
健壮的资源模块TResources,开发者只用关注一个接口便可以通用的在编辑器进行资源加载或者真机加载AB。
救世的HybirdCLR(huatuo)热更新
可选择的高效网络模块
可选择的商业化的UI框架,配合强大的TResource您可以直接进行游戏的UI开发。
KEngine
链接:https://github.com/mr-kelly/KEngine
KEngine是一个用于Unity3D引擎的AssetBundle框架。
她的核心,资源模块(ResourceModule)为AssetBundle的资源加载、打包提供完整的一套工程规范,减少在项目开发过程中踩坑的时间; 同时基于资源模块,提供了UI模块(UIModule)、配置表模块(SettingModule),实现完整的项目协作工作流。
特点 / Features
代码精简, 运行时没有使用反射机制,高性能
适用于PC/Android/IOS平台开发
良好扩展性,支持资源的高清版、低清版
两种异步风格的AssetBundle加载
具备完整的策划->美术->程序工作流
[美术资源]包含AssetBundle的加载、打包
[美术资源]编辑器模式下AssetBundle的性能调试器
[UI界面]基于约定的、无配置式的UI模块
[策划配置]基于Excel进行编译,配置表可添加图表、注释、批注
[策划配置]配置表加载支持运行时热重载, 无需重启立即生效
[策划配置]自动生成文档完善的静态代码,大大便捷开发流程
KIT
链接: https://github.com/tdouguo/KIT
新手引导(NoviceGuide)
(Timeline)新手引导编辑器
(Timeline)剧情编辑器
任务编辑器
技能编辑器
动画编辑器
特效编辑器
2D地图编辑器
根据刷的方块或其他自动生成1个物理碰撞或安装指定规则生成大的碰撞
刷地图版块功能
Setting 实现本地数据缓存, key=value
Network 实现网络连接 tcp,udp,kcp
socket-tcp 功能:断线重连、心跳检测、粘包、拆包 扩展协议 protobuf
scoket-udp
socket-kcp
net-htpp Get、Post请求, 提供自定义请求头,RES非对称加密 等技术处理
FSM 有限状态机
Download 实现并发下载,多线程下载
Res 集成 Resources,StreamingAssets-AB,网络下载AB,管理资源, 基于XAsset实现 AssetBundle,自定义开发AssetBundleEditor指定打包规则.
Scene 基于Res(编辑器、AB),实现场景之间切换,附加,移除.
Audio 基于Res(编辑器、AB),网络动态下载,网络在线资源(mp3,wav)等
Picture 基于Res(编辑器、AB),实现Sprite自动化引用管理以及释放,网络动态下载,网络在线资源
Entity 基于Res(编辑器、AB),实现GameObject 对象池处理资源加载卸载
pool 对象池
Video 视频
Data
data-table 二维表结构(excle,sqlite)
data-node 节点结构(xml,json)
Event 提供模块之间消息通讯, 以及异步线程之间通讯
内嵌Web浏览器(BuiltInWeb)
热更新(xLua\IRuntime)
Utility 工具
[依赖Unity] 截屏、GPS定位、IO处理、音频转换(AudioClip)、Windows对话框、Misc(WWW请求、图片、UI、Input)等
时间戳、 数据处理、Misc(string相关处理)等
i18n 国际化
Process 流程 控制游戏/App整体流程
unity 自动打包
ET
链接: https://github.com/egametang/ET
可用VS单步调试的分布式服务端,N变1
随意可拆分功能的分布式服务端,1变N
跨平台的分布式服务端
提供协程支持
提供类似erlang的actor消息机制
提供服务器不停服动态更新逻辑功能
客户端使用C#热更新,热更新一键切换
客户端全热更新
客户端服务端用同一种语言,并且共享代码
KCP ENET TCP Websocket协议无缝切换
3D Recast寻路功能
服务端支持repl,也可以动态执行一段新代码
打包工具
QFramework
链接: https://github.com/liangxiegame/QFramework
PackageKit: 生态(插件管理)
Core:核心工具库
ResKit:资源管理套件(快速开发)
UIKit:UI 管理套件(支持自动绑定、代码生成)
Audio:音频方案
Loxodon Framework
链接: https://github.com/cocowolf/loxodon-framework
MVVM框架;
支持XLua,可以完全使用Lua脚本开发(可选)
多平台支持;
高扩展性,面向接口开发;
支持线程和协程的异步结果和异步任务,采用Future/Promise设计模式;
多线程组件和定时执行器;
支持消息系统,订阅和发布事件;
支持对象池
支持Properties的配置文件
可加密的配置文件,支持对象存取,可以自定义对象转换器,支持更多的对象;
本地化支持,支持xml、csv、asset等多种配置方式,支持图片等多媒体资源本地化;
数据绑定支持:
Field绑定,只支持OneTime的模式,因无法支持改变通知;
属性绑定,支持TwoWay双向绑定,值修改自动通知;
普通字典、列表绑定,不支持改变通知;
支持C#事件绑定;
支持Unity3D的EventBase事件绑定;
支持静态类的属性和Field的绑定;
支持方法绑定;
支持命令绑定,通过命令绑定可以方便控制按钮的有效无效状态;
支持可观察属性、字典、列表的绑定,支持改变通知,视图模型修改自动更改UI显示;
支持表达式的绑定;
支持类型转换器,可以将图片名称转换为图集中的Sprite
Game Framework
链接: https://github.com/EllanJiang/GameFramework
框架特点:
全局配置
数据结点
数据表
调试器
下载
实体
事件
有限状态机
本地化
网络
对象池
流程
资源
场景
配置
声音
界面
Web 请求
BDFramework
链接: https://github.com/yimengfan/BDFramework.Core
框架特点:
一键C#热更
一键版本发布
完善的资源管理系统,一套API各平台自动切换
完善的UI工作流:
SQL化表格管理:
发现式业务注册:
模块管理、调度
CatLib
链接: https://github.com/CatLib/CatLib
框架特点:
CatLib是渐进式的框架,可以无缝和现有框架融合。无论您的项目处于哪个阶段您都可以轻易的接入CatLib。
CatLib提供的依赖注入方案,可以极大程度的帮助项目解耦。
CatLib提供了大量可靠,可持续的公共组件,帮助企业降低开发成本。
基于MIT协议,企业可以通过CatLib的组件化方案建立私有的公共组件库,提高项目研发效率和质量。
轻量级的框架,所有的组件都是可以被移除的,您可以只选择适合您的组件。
中文文档完善,极低的学习成本。
面向接口编程,底层组件无感知替换。
KSFramework
链接: https://github.com/mr-kelly/KSFramework
热重载
资源模块
配置表模块
UI模块
脚本模块
多语言模块
Unity编辑器强化
JKFrame
链接:https://github.com/Joker-YF/JKFrame
KFrame2.0设想的是为独立游戏服务的,小团队甚至只有一个人的情况下使用的!
JKFrame2.0比较像是个工具箱,除了UI窗口外的大多情况下,你并不需要继承什么类或接口,而提供的功能也不是非用不可~所以比较接近工具箱
主要功能系统:
对象池系统:重复利用GameObject或普通class实例,并且支持设置对象池容量
事件系统:解耦工具,不需要持有引用来进行函数的调用
资源系统
Resources版本:关联对象池进行资源的加载卸载
Addressables版本:关联对象池进行资源的加载卸载,可结合事件工具做到销毁时自动从Addressables Unload
MonoSystem:为不继承MonoBehaviour的对象提供Update、FixedUpdate、协程等功能
音效系统:背景音乐、背景音乐轮播、特效音乐、音量全局控制等
存档系统:
支持多存档
自动缓存,避免频繁读磁盘
存玩家设置类数据,也就是不关联任何一个存档
支持二进制和Json存档,开发时使用Json调试,上线后使用二进制加密与减少文件体积
日志系统:日志控制、保存等
UI系统:UI窗口的层级管理、Tips功能
配置系统:目前版本较鸡肋
场景系统:对Unity场景加载封装了一层,主要用于监听场景加载进度
其他功能:
状态机:脚本逻辑状态机
事件工具:给物体绑定 碰撞、触发、点击、拖拽、自定义等事件
协程工具:协程避免GC
内置:
Odin插件,方便做一些序列化和调试
JKLog,日志
热更
HybridCLR
旧Huatuo重生为HybridCLR,https://github.com/focus-creative-games/hybridclr。
HybridCLR 是一个特性完整、零成本、高性能、低内存的近乎完美的Unity全平台原生c#热更方案。
ILRuntime
链接: https://github.com/Ourpalm/ILRuntime
ILRuntime项目为基于C#的平台(例如Unity)提供了一个纯C#实现,快速、方便且可靠的IL运行时,使得能够在不支持JIT的硬件环境(如iOS)能够实现代码的热更新
ILRuntime的优势
同市面上的其他热更方案相比,ILRuntime主要有以下优点:
无缝访问C#工程的现成代码,无需额外抽象脚本API
直接使用VS2015进行开发,ILRuntime的解译引擎支持.Net 4.6编译的DLL
执行效率是L#的10-20倍
选择性的CLR绑定使跨域调用更快速,绑定后跨域调用的性能能达到slua的2倍左右(从脚本调用GameObject之类的接口)
支持跨域继承
完整的泛型支持
拥有Visual Studio的调试插件,可以实现真机源码级调试。支持Visual Studio 2015 Update3、Visual Studio 2017、Visual Studio 2019和Visual Studio 2022
支持VS Code源码级调试,支持Mac OSX
最新的2.0版引入的寄存器模式将数学运算性能进行了大幅优化
InjecFix
链接:https://gitee.com/Tencent/InjectFix
InjectFix 是腾讯开源的 Unity 代码逻辑热修复方案,可实现在 Unity 线上客户端内,不用迭代新版本,就能快速修复游戏的线上 bug
Unity代码逻辑热修复
可用于Unity业务的bug修复,支持Unity全系列,全平台。
几个亮点
直接在Unity工程上修改C#即可更新
老项目无需修改原有代码即可使用
每个游戏一份私有补丁格式,安全更有保障
unity客户端开源框架相关推荐
- Unity 客户端简单框架(手游)
一.说明 这是我对之前做的几款游戏重构的一套简单框架(当然存在借鉴成分),因为此前做的都是偏向2D游戏,因为框架主要是以分模块跟MVC为主,战斗要看具体游戏,而且本人也没有做过战斗特别复杂的游戏,也很 ...
- 苹果耳机AirPods Max(Pro)的空间音频技术,Unity端开源框架下载
AIRX三次方会定期为大家推荐一些可移植性强的.可二次开发应用的.可落地实际场景使用的实战工程源码分享给大家.另外有优秀的demo或案例推广.解决方案对接的也可以联系我们(尾部有联系方式).本部分分享 ...
- 淘宝客户端 开源框架_使用最佳的开源客户端框架进行云计算
存档日期:2019年5月13日 | 首次出版:2009年8月18日 了解使用Adobe®Flex和OpenLaszlo(两种领先的客户端富Internet应用程序(RIA)开发语言)的优缺点,这对于为 ...
- Raphael JS 矢量客户端开源框架
之前有基于svg进行矢量绘制,当时是自己写的一些js类库,最近项目中需要,对Raphael做了一些了解,总体不错. Raphael可以对浏览器的兼容做的不错,基于IE的会自动使用vml进行绘制,其他浏 ...
- 视频教程-Unity客户端框架设计PureMVC篇视频课程(上)-Unity3D
Unity客户端框架设计PureMVC篇视频课程(上) 二十多年的软件开发与教学经验IT技术布道者,资深软件工程师.具备深厚编程语言经验,在国内上市企业做项目经理.研发经理,熟悉企业大型软件运作管理过 ...
- 视频教程-Unity客户端框架设计PureMVC篇视频课程(下)-Unity3D
Unity客户端框架设计PureMVC篇视频课程(下) 二十多年的软件开发与教学经验IT技术布道者,资深软件工程师.具备深厚编程语言经验,在国内上市企业做项目经理.研发经理,熟悉企业大型软件运作管理过 ...
- Android 开源框架ViewPageIndicator 和 ViewPager 仿网易新闻客户端Tab标签
转载请注明出处:http://blog.csdn.net/xiaanming/article/details/10766053 之前用JakeWharton的开源框架ActionBarSherl ...
- c# mqtt高性能服务器端源代码 开源框架包括服务器和客户端,支持mqtt3.0及5.0
c# mqtt高性能服务器端源代码. 你还在使用第三方服务软件吗?不如试试这个开发框架,助你一臂之力,无限制,无全开源,无版权约束,全是自主开发. 开源框架包括服务器和客户端,支持mqtt3.0及5. ...
- iOS常用第三方开源框架和优秀开发者博客等
博客收藏iOS开发过程好的开源框架.开源项目.Xcode工具插件.Mac软件.文章等,会不断更新维护,希望对你们有帮助.如果有推荐或者建议,请到此处提交推荐或者联系我. 该文档已提交GitHub,点击 ...
最新文章
- 无人系统自主性研究综述
- 如何在组件模板中选择元素?
- 计算机等级考试三级数据库考点,全国计算机等级考试辅导:三级数据库考点
- 太赞了!2020年全网最新Java面试题(附答案)免费下载!超全!!
- 一个详细的JTable使用例子
- Apache基金会接收阿里RocketMQ为孵化项目
- [LintCode笔记了解一下]64.合并排序数组
- stm32按键矩阵代码_STM32 学习笔记---1
- jsk Star War (线段树维护区间最小最大值 + 二分)
- 算法提高 数的划分 动态规划 无序
- mysql怎么设主键和外键_MySQL添加主键和外键
- 基于深度学习生成音乐
- 解决无法从Git官网下载Git安装包的具体方法
- -XX:PretenureSizeThreshold的默认值和作用浅析
- 工作薄与工作表的区别:
- 计算机桌面都有说明,电脑重启后桌面所有的图标都没了怎么解决
- docker部署项目通过127.0.0.1访问数据库:Connection refused
- LogicFlow插件-常用内置
- 2020届一轮复习之必考选修部分:绝对值不等式(解答题)
- java晋升述职_阿里感悟(九)-如何才能晋升
热门文章
- 数据中心网络设计思路图,数据中心网络设计方案
- ajaxForm 、ajaxSubmit 区别
- 2019长沙理工大学计算机专业分数线,长沙理工大学
- anaconda创建python环境
- (C语言)编一程序,,输入月份号,输出该月的英文月名,例如,输入3,则输出March,要求用指针数组处理
- python爬虫:怎么选择/寻找请求地址
- 使用ExternalDNS自动化DNS配置
- 川大202003计算机应用基础14,张发琼
- 区块链产业园拔地而起,多方面亟待问题解决?
- Springboot整合socket服务端