unity lua方案分析

序言

要结束cocos的开发转unity了(本来标题是要写这个的,写着写着就写多了)
unity对我们来说是个新的挑战

cocos的方案连更新的逻辑都能更新,全部逻辑用lua编写

unity的lua方案似乎效率很一般,好多人都是提议通过c#写代码,然后lua只是配置

目前unity的lua社区都还比较小,使用人数不多,遇到问题很多都要自己解决

分析

目前就看了uLua和xLua

  • ulua
    ulua是比较早而且一直在更新的方案,lua层做了一些方便的封装,而且集成了一些cjson,pbc之类的第三方库
    通过配置可以调试lua,支持资源一键打包
    版本改过多个实现,目前最新的是tolua

  • xlua
    xLua是最近腾讯推的方案,官方的定位是仅仅希望用热更新来fix bug
    没有第三方库,没有lua层的封装,如果用来写主要逻辑的话工作量有点多
    而且这样的话基本上就是第一次上线后就开始要每个bug写两遍,lua写一遍用来热更,然后c#写一遍用来发新包
    优点是最近更新还是比较频繁也是大多数人看好的,因为很多项目是已经完成了,然后在找热更方案的

  • slua
    slua的话也有看到KSFramework感觉还不错

结论

目前如果要使用lua框架作为主要逻辑还是需要自己写很多接口来优化效率,像是把gameobject在lua和c#传来传去的方案我认为是不可取的

比如lua只是使用基本类型,通过大量接口,让c#和lua的调用尽量简单

但是这样会导致交互层有大量的接口,会不会导致调用一个接口就要把所有接口遍历一次

希望unity lua有更多的人加入,逐渐强大,完善的解决各种问题的方案,完善的工具链,遇到bug能搜索得到,效率提高到能做为主逻辑的水平

你可能感兴趣的:(unity)