unity资源更新管理方式

一、安装Addressable/添加资源分组

==================================================================

》安装包体

》打开编辑器,创建基本资源组分组管理,组名上右键菜单可重命名

 

》添加可寻址资源(可以拖拽设置,可以在inspector中设置)点击资源右键菜单可简化地址名字方便加载

==================================================================

二、配置自定义的网络服务器路径/构建本地iis服务

==================================================================

Local基本可以忽略在“资源组属性设置”中有具体说明为什么没有用。

通常自定义两个地址一个本地服务器测试地址,一个最终发布的远程服务器地址(最后手动拷贝到服务器)

一个用于本地更新功能测试,一个是正式发布后的软件更新地址(发布时需要修改为该地址)。

》》构建本地iis服务添加网站

.bundle  application/octet-stream 以及 .hash

下面列出一些常用的 扩展名的 MIME类型。

如果不知道MIME类型 可以写通用的: application/octet-stream

还有一些规律如果是文本类的让IE可以直接打开的 MIME 可以为 text/扩展名

如果是音频打开的时候让windows自动播放的可以用 audio/扩展名

为网站添加mime类型

.json text/json

.unity3d application/octet-stream

.unityweb  application/binary

==================================================================

三、资源组属性设置

==================================================================

======》资源类型大体上分为三类

  》》第一种:随包体一起打包发布的资源(静态资源)(打包加载路径为Local)

这种资源是无法被更新的发布后会复制到项目的StreamingAssets目录下

这种资源分组设置就比较鸡肋(万年不改场景资源以及工具脚本等等),甚至不用打包也会随之发布

唯一值得注意的是可能需要动态加载的资源没有被场景引用,发布时会被忽略,如果不将资源打包需要将资源放到Resources文件中

==================================================================

(不要再使用该类资源)建议是要更新的就全从服务器下载,不更新就不要更新(实在不行就大版本替换)

》》第二种:随包体一起打包发布,而且需要检查更新(资源包体过大又不一定会经常更新的资源)

每次发布最新版本安装会带最新的资源包,不需要安装完成后还要更新。

用AB的时候设计过该类资源(一开始放在StreamingAssets目录下,然后将所有资源复制到平台更新的缓存目录,再删除StreamingAssets目录下的资源)

如果嫌麻烦也可以不设计该类资源全部放到第三种资源类型中去。 

==================================================================

  》》第三种:后期更新的资源不随包体一起打包发布需要从服务器下载更新。

       为了更简单的使用资源更新系统,建议只配置这一类需要热更新的资源。

如果要换皮那就全用这种打包所有资源全整到服务器。

  属性配置:

设置打包地址和远程服务器地址,可以是同一个文件(这样设置后不会再打包到Loacal地址)

建议用can change post release直接覆盖原始包不差那点,方便管理

Cache Clear Behavior:这里如果是Local的话我一般用默认第一个,如果是Remote的话,我通常会选择第二个,第二个意思就是如果有资源更新了,加载了新资源的时候就会把本地的旧资源删除掉,自测很好用,避免本地下载的旧资源堆积太多

Bundle Mode:我个人喜欢分开打包,这样的好处就是如果只是一个很小的资源需要热更,那么下载的时候就只需要下载这个小资源,不用下载很多不必要的资源,对用户体验会比较好

==================================================================

四、远程更新设置

==================================================================

(什么时候更新需要自己控制就需要勾选下面的选项,这个再做webgl程序时尤为重要需要在用到时才更新对应的资源,而不像游戏一开始更新完所有资源)

~Disable Catalog Update On Startup //勾选后更新完直接加载会出错,显示文件重复加载

默认是没有勾选的,没有勾选,那么每次AA系统初始化的时候,会自动更新catalog文件,勾选上,将不会自动更新catalog文件,也就意味着不会自动更新资源.AA系统的初始化会在任意接口第一次调用时初始化,也可以主动调用Addressables.InitializeAsync()初始化.

如果有后续更新资源的打算,一定要在第一版发布前勾选上AddressableAssetSettings中的~BuildRemoteCatalog,并确认下Path是否正确。

更改加载的缓存路径:创建缓存设置资源,简单来说这个地址就是用来热更的,这样可以方便我们管理资源,否则Addressables会将资源下载到另外一个缓存文件夹里

设置路径并加入配置

  //{UnityEngine.Application.persistentDataPath}

(正常使用全平台通用路径)这里地址填错危害很大(后面多了一个空格)害人得一批找了一天的错,会报错显示无法解压服务器AB包

   {UnityEngine.Application.persistentDataPath}

==================================================================

资源打包

==================================================================

》》首次打包

》》后续更新

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值