官方文档和一些网络上的资料还停留在旧版本,有些界面和选项不太一样,故记录一下针对1.6.0版本的流程。
0.最基本的操作就不说了,可以去B站找视频,只记录一些要点。
1.本地搭建服务器测试
打开Addressable Hosting Services , 新建一个Local Hosting . 点击Enable开启,生成的IP和Port就是
用于本地测试的虚拟服务器
打开Addressables Profiles ,根据刚刚配置的Hosting设置RemoteLoadPath,注意:RemoteBuildPath不需要修改,
使用默认值,会build在与Assets同级的目录里。这个目录就是加载时最终指向的目录。
以上是Unity提供的一个工具,建议自己搭建真实服务器(Mac自带Apache、Win自带IIS),然后用手机测试。
Editor下一些表现并不正确,比如在找不到服务器资源的情况下虽然会报错但是依然显示了项目里的资源,
而真实手机上会彻底无法加载。
2.Group设置
手机测试结果:
Local Build |
创建到Library目录,会在打包时候自动包含进StreamingAssets。 |
Remote Build |
创建到指定目录,所以这个Group的资源不会被包含在包(apk)中,而是需要联网下载。 |
Local Load |
会尝试连接服务器去检测是否有更新,有的话则下载最新资源并覆盖到本地,没有则直接读取本地资源(初始在SA目录) |
Remote Load |
需要读取服务器上的资源,有则下载到本地,没有则会报错,且无内容可加载。此时如果在服务器上添加资源,手机端可以重新调用API直接加载到资源,但是加载之后就会被缓存,如果服务器此时再更新资源,手机端必须重启游戏才会得到更新资源。 |
Can/Cannot Change Post Release:仅仅是一个标记,将此组标记为Cannot之后,当组内有资源
发生变化,可以通过check+update方式只给发生变化的资源出“更新资源包”
3.关于更新
第一次打包时候打开如下配置,这样第二次才可以更新。
这个选项打开之后Build完才会在RemoteBuildPath目录里面生成.hash和.json文件,记录着此次打包的资源信息。
开启这个选项之后意味着以后游戏每次启动,都需要去根据这两个文件检查是否需要更新资源。所以这两个文
件需要放到服务器上,否则会报错,报错不会阻断游戏进程而是继续读取本地已有的资源。
先检查资源更新和自动分组。Addressable->Tools->Check for Content Update .然后选择上一次整包的bin文件,Unity会做对比后显示对比结果,apply则自动分组。
更新的选项是 Build-> Update a previous Build 。