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#即可更新
老项目无需修改原有代码即可使用
每个游戏一份私有补丁格式,安全更有保障

你可能感兴趣的:(C#,UNITY,unity,开源,lua)