终于有人要把C#引入Cocos了

人为制造行业壁垒 :rofl:

c#也可以边改边运行编译的,不需要每次都点击unity的运行按钮

拉了 并不是 新增新的函数和类一样需要

完全可以的

原生性能应该差很多。
轮子哥是C# -> wasm 带 GC,
现在cocos的wasm都不带GC,内存占了就占了不放
小游戏绕过审核热更
多线程

用c#也挺烦的,之前每次就改了一丁点的代码,回到unity就必须得重新编译老半天 :joy:

如果是为了统一技术栈,我个人还是推荐 puerts, 毕竟还多兼容了一个ue嘛。

1赞

你说的是wasm标准新版本自带的gc吧?只是提供了宿主gc,不需要自己实现而已。
cocos自己管理的内存

轮子哥leanclr自己实现的GC
C#写的代码本身依赖GC嘛,leanclr不是.net x,没有GC的话运行在leanclr上面的代码申请的内存回收不了。
现在Cocos因为是js环境,调用wasm还得js <-> wasm 胶水层消耗(CPU/内存)
使用leanclr完全去掉js环境的话,运行起来就是纯wasm内部调用,没有额外的胶水转换消耗,这对现在的jsb和js-wasm交互就是降维打击了

其实也不是一个替代.net的C# runtime
是一个带裁剪工具的IL解释执行器
部分函数性能就生成(比il2cpp)更精简AOT cpp代码
不需要性能就直接执行提供能力的dll(比如mscorlib.dll / UnityEngine.dll)里的IL指令

所以接入cocos的话就是将C++层接口转给它就行了

意思是直接将cocos native 接入他们的runtime 然后可以用c#写代码直接跑在整个环境里?多个选择也好

你没做asmdef拆分吧,c#代码全在一个程序集里当然编译慢

别搞,就是慢

不慢啊,我做好拆分编译几秒钟就好了,而且还需要固态硬盘,这些编译数据需要写入磁盘的

那你不还是慢 几秒钟还不慢 cocos几乎1秒以内呢

这也叫慢么,你没写过c++吧。。

为什么要跟cpp比,有更好的不用非要用拉的,

unity本来就是c#支持更好,以前用lua也是为了热更新,现在有了华佗,unity新架构游戏都是用c#写。好好的c#不用,跑去捡起被unity淘汰的js,谁差谁好官方已经在多年前就有结果了

ts和c#语法比较接近了,都出自微软,没必要为了C#和C#,等webassembly更成熟了,你想用啥就用啥