Unity资源热更-Addressables总结(一)

article/2025/10/21 20:06:54

Addressables是Unity官方推出的用于资源热更的系统,可在Package Manager里面下载,我这里分两部分讲解,第一部分是操作入门,第二部分是代码编程以及注意事项

一、入门

选择合适的Addressables版本下载安装完成后,选择Groups

 点击Create Addressables Settings

它会默认给你创建一个本地的Group,选中这个Group,可以在Inspector面板看到如下图示:

 这五个红框是我会经常设置的地方(从上到下):

1.点击之后会跳转到Settings面板,Settings面板等会讲

2.更新形式,一种是Can,一种是Cannot,这两种的更新操作会有些区别,Unity官方是建议将用作增量更新的AB包使用Cannot形式,比如有一些ab包是要放进App的包体里的,这时候我们一般第三个框会选择Local,也就是说这个Group下的资源会被打包成ab包然后在build app的时候,会复制到我们的StreamingAssets文件夹里,这样如果这些ab包里面有资源要更新,那么就可以操作将这些资源导出来放到一个新的Group里来进行热更(至于怎么操作,等会会在更新环节讲),使用Can的话,第三个框则选择Remote,这两个选项通常是搭配使用

3.Local or Remote,如果是选择Remote的话,那么你还需要到Addressables Profiles里去设置你的远程资源地址,Remote.BuildPath我们通常不改,一般只改Remote.LoadPath,即使用你自己的资源服务器地址

4.这里我通常会勾上

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

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

接下来是Addressables Settings面板:

这四个红框是我会修改的地方(从上到下):

1.通过设置不同的Profiles,我们可以管理不同资源服务器的下载,比如内网、审核服、外网等等

2.Disable Catalog Update on Startup:这个勾选的话是说这个catalog不要在应用启动的时候就自动更新,等我们到了主界面,点击屏幕再更新,看看是否有更新,这个catalog保存的就是我们的资源信息,一般要做这种需要玩家确认下载的时候我会勾选这个,我也尝试过不勾选然后做无感更新也是可以的,即在App运行过程中有资源更新了,不需要退出再重新打开App或者返回主界面再更新,可以直接后台更新,然后再加载这个资源就是最新的资源了

3.这个我通常会勾选,如果是想加载远程的资源,path选Remote,如果是只想加载local group里的资源(即放在StreamingAssets),没有加载远程资源的需求,选择Local即可

4.初始化Objects,这里我通常会右键Create一个Cache Initialization Settings,改好之后放到这里面

 

然后就是Cache Directory Override这一栏填上{UnityEngine.Application.persistentDataPath},相信了解这个地址的同学知道它的含义,简单来说这个地址就是用来热更的,这样可以方便我们管理资源,否则Addressables会将资源下载到另外一个缓存文件夹里

这些都设置好了之后,就是更新的操作了,接下来是一个示例:

我们先随便在场景里创建一个cube,然后让它变成一个prefab 

再随手创建两个材质球,一个红色一个黄色,将红色材质球拖给Cube,通过改变这个cube的材质球来对它进行热更

1.勾选Build Remote Catalog,取消勾选Disable Catalog Update on Startup,取消之后这样每当我们重新打开App,调用Addressables.InstantiateAsync生成这个Cube的时候Addressables都会先检查catalog更新然后下载最新的Cube到本地,最终在场景里生成最新的Cube

2.将Cube拖到这个默认的Group下,然后单击或者右键选择下图简化名字,这个Name:"Cube"就是我们之后使用Addressables API加载Cube需要传入的参数名

3.Group设置里选择Remote,红框里使用你自己的资源服务器地址,在Addressables Profiles里设置

4.点击Build->New Build->Default Build Script,Unity会自动为我们将资源打出成ab包

 5.在Assets同级的ServerData里面,可以找到打出来的ab包

 大概有这些文件:

.hash文件内容是.json文件的md5 ,一般更新的时候都是先对比这个md5有没有发生改变,有再比对.json里面的内容,最终确定要下载的资源

然后将这些资源放到我们的资源服务器上

6.接着在工程的场景里随便创建一个GameObject,再随便创建一个脚本,在Start方法里只做一件事,那就是输入这行代码:

Addressables.InstantiateAsync("Cube");  

这个方法会生成最新的Cube,编译好了build and run一个exe,你就能在场景里看到这个红色的Cube了

7.接下来我们把yellow材质球拖给Cube,如图

然后我们对这个黄色Cube打包

这里需要注意,当我们选择的更新形式是Can Change Post Release和Remote时,我们就采用上图的Update a Previous Build,然后选择你对应平台里的addressables_content_state.bin文件就可以打出新的ab包了

如果是Cannot Change Post Release和Local,那我们就需要点击Tools->Check for Content Update Restrictions,它会生成一个新的Group,如下图:

再执行Update a Previous Build,然后选择你对应平台里的addressables_content_state.bin文件才可以打出新的ab包

8.我这里采用的是Can Change Post Release和Remote的方式,再把最新打出来的资源(包括.hash和.json文件)都上传到资源服务器

重新打开exe,是不是变成了黄色了?到这里相信你们对这个操作流程就熟悉了,至于一些高阶的用法,我会在下一章详细讲解


http://chatgpt.dhexx.cn/article/9ayUSs8c.shtml

相关文章

Unity 资源商店无法登陆,提示链接失效 的解决办法

出现资源商店无法登陆问题,网络换一下,用自己的手机热点连网,就可以了。

Unity 加载资源

直接把资源放在unity的目录里是不行的 打包的时候 不会打进去 要想打包到apk里 只有两种选择 1 放到 StreamingAssets 里 – Application.streamingAssetsPath 2 场景里有引用 他会自动打包进apk里 资源放到预制体里 并且预制体没在场景里 也不打包 先安装 https://github.co…

Unity 资源加载卸载过程

什么时候才是UnusedAssets? 看一个例子: Object obj Resources.Load("MyPrefab"); GameObject instance Instantiate(obj) as GameObject; ......... Destroy(instance); 创建随后销毁了一个Prefab实例,这时候 MyPrefab已经没有被实际的物体…

Unity资源分享网站——记录

UWA开源库 UWA问答 | 开源库 | 帮助开发者发现更好的解决方案| 侑虎科技 FREEDOMCLUB Get Unity Assets For Free | Welcome To Unity Assets FREEDOM CLUB Itch.io Top game assets - itch.io reddit https://www.reddit.com/r/Unity3D/ NOTE 「unity」の人気の記事一覧&a…

Unity资源导入自动化设置

Unity资源导入自动化设置 简介具体实现 新的问题解决方法 简介 大家都知道,在Unity中导入的资源不同类型有不同的设置, 例如:模型文件导入之后是这样的 当导入数量少的时候我们可以手动去改,但是当数量很多,或者文件结…

Unity资源下载材质贴图消失

一、问题 在网上下载的Unity资源模型导入Unity后变成白色,材质丢失。 二、解决办法 1.在Unity Assets中选择下载的模型。 2.在Inspector面板点击模型的materials,在Location那一栏选择Use External Materials(Legacy)&#xff0…

Unity资源导入

1、在资源中添加自定义包 2.选择导入 3.导入后出现以下错误 4.双击错误打开进行修改

unity资源管理

unity资源一般,分为两个目录:Resources和StreamingAssets,下面我们就来了解下,这两个目录 如何使用,有什么区别。 Resources 放在Resources里边的资源,会全部打进包体,且会压缩。这里边的资源&…

Unity中的资源管理-资源类型和基本使用

本文分享Unity中的资源管理-资源类型和基本使用 真不容易, 经过几篇文章的铺垫, 我们终于进入正题了. 今天继续给大家聊聊资源管理中的基础知识: 资源的类型和基本的使用. Unity中的资源类型 这一部分在官方文档里介绍的很清楚, 有兴趣的同学可以自行跳转: 如果不愿意看官网…

【Unity3D】资源文件 ③ ( Unity 资源包简介 | 导出 Unity 资源包 | 导出资源包的包含依赖选项 | 导入 Unity 资源包 | Unity 资源商店 )

文章目录 一、Unity 资源包简介二、导出 Unity 资源包1、正常导出 Unity 资源包2、导出资源包的包含依赖选项 三、导入 Unity 资源包四、Unity 资源商店 一、Unity 资源包简介 将 Project 文件窗口 中的 Assets 资源进行打包 , 就会得到一个 资源包 Unity Package , 后缀为 &qu…

图嵌入 DeepWalk

文章目录 图表示学习-图嵌入 DeepWalk1 图嵌入2 随机游走-Random walks3 DeepWalk3.1 Hierarchical Softmax3.1.1 哈夫曼树3.1.2 Logistic Regression3.1.3 Softmax 回归3.1.4 Hierarchical Softmax 3.2 模型训练 图表示学习-图嵌入 DeepWalk 1 图嵌入 目标:将节点…

对DeepWalk的理解

DeepWalk的理解 如今我们都处于大数据时代,同时我们也身处于各个网络当中,列如通信网络,交通网络等等。我们如何将网络中的信息用我们计算机能懂的方式展现出来,这就是网络表示。而deepwalk主要是用来表示网络的一种方式&#xf…

KDD 2014 | DeepWalk: 社会表征的在线学习

目录 前言Abstract1.Introduction2.Problem Definition3.Learning Social Representations3.1 Random Walks3.2 Connection: Power laws3.3 Language Modeling 4.Method4.1 Overview4.2 Algorithm:DeepWalk4.2.1 Skip-Gram4.2.2 Hierarchical Softmax4.2.3 Optimiza…

DeepWalk

原文 《DeepWalk: Online Learning of Social Representations》 亮点 In this paper we introduce deep learning (unsupervised feature learning) techniques, which have proven successful in natural language processing, into network analysis for the first time.…

【论文精读实战】DeepWalk: Online Learning of Social Representations

DeepWalk: Online Learning of Social Representations 本文是我参加Datawhale的CS224W图机器学习时的笔记,第一次学习图机器学习,对DeepWalk这篇开山之作的理解。 论文的三位作者均来自纽约州立大学石溪分校,杨振宁和丘成桐也曾在此教学。 …

Deepwalk深度游走算法

主要思想 Deepwalk是一种将随机游走和word2vec两种算法相结合的图结构数据的挖掘算法。该算法可以学习网络的隐藏信息,能够将图中的节点表示为一个包含潜在信息的向量, Deepwalk算法 该算法主要分为随机游走和生成表示向量两个部分,首先…

DeepWalk阅读笔记

DeepWalk是一种学习网络中节点的表示的新的方法,是把language modeling的方法用在了social network里面,从而可以用deep learning的方法,不仅能表示节点,还能表示出节点之间的拓扑关系,也就是表现出社会网络的社会关系…

论文阅读|DeepWalk: Online Learning of Social Representations

论文阅读|DeepWalk: Online Learning of Social Representations 文章目录 论文阅读|DeepWalk: Online Learning of Social RepresentationsAbstractIntroductionProblem DefinitionLearning Social RepresentationsMethod实验设置Related Work我的看法参考资料 Abstract Deep…

大致了解一下DeepWalk

大致了解一下DeepWalk 讲到DeepWalk,不得不说的Word2VecCBOW模型CBOW模型的理解CBOW模型流程举例 Skip-Gram模型模型假任务模型细节隐层输出层直觉下一步 一些常用的trick词组降采样常用词采样率Negative Sampling选择 negative samples DeepWalk步骤相关算法 转载于…

[论文阅读] (25) 向量表征经典之DeepWalk:从Word2vec到DeepWalk,再到Asm2vec和Log2vec(二)

《娜璋带你读论文》系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢。由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学术路上期…