unity+slua热更流程演示

本文是采用lua + assetBundle 作为热更资源。如果你不了解Slua 可以点这里 。assetBundle具体怎么用可以百度。

unity的热更流程,其实就是把所有的资源打包成 assetBundle ,包括场景也是。然后把这个assetBundle 下载到Application.persistentDataPath这个目录,然后用www来动态加载新内容。Application.persistentDataPath这个目录是针对平台的可读写目录,适用于热更。下面是具体的操作流程演示。


1.unity热更主要两部分,代码和资源。

①制作需要热更的场景,随便拖几个东西。改个名字叫 myScene.scene


②制作入口场景,其实就是新建空场景,然后拖个按钮过来,上面绑两个脚本。Demo.cs 和 ResUpdate.cs


这个入口场景改名叫 begin.scene

2.制作需要热更的资源

这里资源包括lua代码还有一些prefabs


--main.txt
function main()
     print("hello world")
end

--newLua.txt
function sayHello()
	print("来自热更的lua打印");
end

sayHello();

这个newLua.txt就是后面将要热更的新代码

3.打包要热更的资源

*如果是第一次使用sLua 那么要先点Slua菜单clean后make

我们这次热更不需要用到cdn,本地环境就可以测试了。首先在桌面创建tmp目录,当作是服务器cdn。//如C:\Users\Administrator\Desktop\tmp

然后用热更打包的菜单去打包资源和场景。


①资源:多选选中你需要打包的prefabs+代码.txt ,点击打包资源,并保存到上面的tmp目录。(实际开发应该远程服务端cdn)

②场景:打开你需要热更的场景,点击打包场景,并保存到上面的tmp目录。

③创建版本文件:点击就行了。因为我在代码里面写死了C:\Users\Administrator\Desktop\tmp 这个目录。(实际开发是一个http的url)

4.运行

上面的准备工作已经完成,可以运行begin场景。点击一下启动热更的按钮即可。

5.其他

热更时候下载的ab到底去哪了?去了Application.persistentDataPath 这个目录。

C:\Users\Administrator\AppData\LocalLow\DefaultCompany\项目名字

ResUpdate.cs这个文件,由于我是演示,我写死了本地路径和远程路径,如果你不想在桌面建一个tmp目录那么你要手动改下。

6.演示代码下载

https://github.com/LingJiJian/UnityHotFixDemo

7.交流

QQ342854406   Q群261286285  Q群347085657

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值