天天看点

Unity热更新代码

对资源的更新比较简单,把资源打包成AB文件,然后放到资源服务器上,客户端程序启动时下载AB文件,程序加载AB文件就可以了,但对与C#程序来说如何进行更新呢,可以将C#打包到Dll里,然后将Dll放到资源服务器上,客户端下载DLL

通过如下代码加载Dll

WWW www = new WWW (URL);

yield return www;

System.Reflection.Assembly.Load (www.bytes)

需要注意的是以上代码只在Android,Windows平台可以运行,不能在IOS平台运行,因为IOS不支持JIT(即时编译),那如何在IOS平台进行更新呢?可以使用Lua脚本语言在IOS平台进行热更新。原理如下

Unity热更新代码

因此为在统一所有平台进行热更新,这里选择Lua作为热更新语言。