【Unity工具篇】| 游戏完整资源热更新流程,YooAsset官方示例项目

  • [【Unity工具篇】| 游戏完整资源热更新流程,YooAsset官方示例项目](#【Unity工具篇】| 游戏完整资源热更新流程,YooAsset官方示例项目)
    • 一、导入示例工程
    • [二、 Editor Simulate Mode 编辑器下的模拟模式](#二、 Editor Simulate Mode 编辑器下的模拟模式)
    • [三、Offline Play Mode 离线运行模式](#三、Offline Play Mode 离线运行模式)
    • [四、Host Play Mode 远程联机运行模式](#四、Host Play Mode 远程联机运行模式)
      • [4.1 选择Host Play Mode](#4.1 选择Host Play Mode)
      • [4.2 使用python添加本地测试服务器](#4.2 使用python添加本地测试服务器)
      • [4.3 打包测试](#4.3 打包测试)
      • [4.4 资源热更测试](#4.4 资源热更测试)
  • 总结

前言

  • 在Unity 3D游戏开发中,资源管理与热更新是保障项目高效交付、提升玩家体验的核心环节,直接决定了游戏的迭代效率、安装包体积控制及线上运维能力。
  • YooAsset 作为一套经过多款百万DAU游戏产品验证的Unity资源管理系统,凭借其灵活的打包策略、高效的资源加载机制、完善的版本管理及多平台适配能力,成为解决商业化游戏资源管理需求的优选方案。
  • 前面文章讲了 YooAsset的原理及配置 的相关内容,本篇文章使用官方示例项目测试完整热更新流程。

【Unity工具篇】| 游戏完整资源热更新流程,YooAsset官方示例项目

一、导入示例工程

打开管理界面 Edit/Project Settings/Package Manager

csharp 复制代码
// 输入以下内容(国际版)
Name: package.openupm.com
URL: https://package.openupm.com
Scope(s): com.tuyoogame.yooasset

Package ManagerMyRegistries 中找到YooAsset,官方一共提供了以下几个示例:

  • Space Shooter 太空战机DEMO,包含完整资源热更流程演示。
  • Mini Game 小游戏平台的文件系统扩展库。
  • Extension Sample 包含编辑器扩展代码的示例和着色器变种收集器。
  • UniTask Sample 包含支持UniTask代码的示例。
  • Test Sample 单元测试用例。

这里选择安装Space Shooter 进行学习。


二、 Editor Simulate Mode 编辑器下的模拟模式

第一步:Space Shooter在导入完成后,打开YooAsset->AssetBundle Collector 窗口。

第二步:点击Fix修复按钮,然后点击Save按钮保存配置,最后关闭窗口。

第三步:PlayMode需调成Editor Simulate Mode ,不然在Editor下没法游玩。

找到Boot.scene场景启动游戏。

三、Offline Play Mode 离线运行模式

第一步:Build构建。

打开YooAsset->AssetBundle BuilderCopy BuildinFile Option 选择Clear And Copy All ,然后点击ClickBuild 进行构建。

提示

如果构建失败,可以保存一下场景然后再次尝试。

此时在Assets下会自动创建文件夹StreamingAssets,和本次对应的bundle文件。

第二步:打开Boot场景,PlayMode选择Offline Play Mode ,然后启动游戏。

游戏可以正常游玩,且右下角的版本已经变成本次构建的版本号。


四、Host Play Mode 远程联机运行模式

4.1 选择Host Play Mode

首先打开Boot场景,PlayMode选择 Host Play Mode ,此时应该没办法游玩。

4.2 使用python添加本地测试服务器

在本地新建文件夹目录CDNFile,里面放一个文件夹CDN和一个bat文件启动本地服务器。

CDN目录下新建Android和PC文件夹,然后在PC目录下再新建一个v1.0文件夹用于放bundle文件。

把在Unity中Build的bundle包(默认在该目录下Bundles\StandaloneWindows64\DefaultPackage\)复制到v1.0文件夹下。

此处的目录结构为:~/CDN/PC/v1.0 ,否则没办法正常加载热更资源,因为示例代码中获取资源服务器地址是这样写的,也可以通过改代码的方式调整对应的目录结构。

startServer.bat内容如下,使用python启用本地服务器,没有安装Python的需要去安装一下。

bash 复制代码
python -m http.server 80

此时双击startServer.bat文件会打开一个命令行窗口,然后去浏览器输入http://127.0.0.1/ 进行访问,可以看到本地目录就完成了。

这个时候启动游戏可以正常运行就说明配置成功了。

4.3 打包测试

游戏可以正常运行了,开始Build一个PC包进行热更测试。

打开游戏可以正常运行游玩,此时如果想更改游戏内容的话就只能重新打包。

接下来在Unity中对游戏进行修改,然后进行热更测试,在不重新打包的情况下修改游戏内容。

4.4 资源热更测试

打开UIHome预制体,这个是游戏主页面的UI,直接在该UI页面上面进行新增一张图,和调整了按钮的位置。

接下来打开AssetBundle Builder 重新点击ClickBuild

把前面创建的文件夹v1.0中的内容全部删掉,将新build出来的内容全部复制到v1.0中。

此时再运行前面打包好的exe文件查看效果,前面的startServer.bat也要运行,否则拉取不到内容。

可以看到进入游戏的时候弹出一个更新提示,更新完之后进入游戏会发现UI主页面已经更新了,这样在没有重新打包的情况下就完成了一次资源的热更新流程。


总结

  • 本文围绕YooAsset官方示例项目搭建与资源热更新展开了详细的实操讲解。
  • 通过本文的学习可顺利完成官方示例项目的搭建,理解资源热更新的核心流程------包括资源包构建、版本管理、远程下载、及本地加载的全链路实现。
  • YooAsset的价值不仅在于示例项目所呈现的基础功能,其分布式构建、资源加密、引用计数内存管理等高级特性,还能满足超大体量项目、多平台部署等复杂场景的需求。
  • 后续可基于本文讲解的示例流程,结合自身项目需求,灵活拓展YooAsset的使用场景,优化资源管理策略,实现更高效的资源交付与热更新迭代。

  • 🎬 博客主页:https://xiaoy.blog.csdn.net

  • 🎥 本文由 呆呆敲代码的小Y 原创 🙉

  • 🎄 学习专栏推荐:Unity系统学习专栏

  • 🌲 游戏制作专栏推荐:游戏制作

  • 🌲Unity实战100例专栏推荐:Unity 实战100例 教程

  • 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!

  • 📆 未来很长,值得我们全力奔赴更美好的生活✨

  • ------------------❤️分割线❤️-------------------------

资料白嫖,技术互助

学习路线指引(点击解锁) 知识定位 人群定位
🧡 Unity系统学习专栏 入门级 本专栏从Unity入门开始学习,快速达到Unity的入门水平
💛 Unity实战类项目 进阶级 计划制作Unity的 100个实战案例!助你进入Unity世界,争取做最全的Unity原创博客大全。
❤️ 游戏制作专栏 难度偏高 分享学习一些Unity成品的游戏Demo和其他语言的小游戏!
💚 游戏爱好者万人社区 互助/吹水 数万人游戏爱好者社区,聊天互助,白嫖奖品
💙 Unity100个实用技能 Unity查漏补缺 针对一些Unity中经常用到的一些小知识和技能进行学习介绍,核心目的就是让我们能够快速学习Unity的知识以达到查漏补缺
相关推荐
jikemaoshiyanshi2 小时前
B2B企业GEO服务商哪家好?深度解析径硕科技(JINGdigital)及其JINGEO产品为何是首选
大数据·运维·人工智能·科技
Lab_AI2 小时前
浩天药业携手创腾科技,开启研发数字化新篇章!电子实验记录本(ELN)落地浩天药业
人工智能
supericeice2 小时前
大模型建筑隐患管理方案怎么做?创邻科技用知识图谱、图数据库和企业AI大脑打通隐患问答、整改与推荐
人工智能·科技·知识图谱
蕤葳-2 小时前
非编程背景学习AI的方法
人工智能
北京耐用通信2 小时前
不换设备、不重写程序:耐达讯自动化网关如何实现CC-Link IE转Modbus TCP的高效互通?
人工智能·科技·物联网·网络协议·自动化·信息与通信
计算机毕业设计指导2 小时前
基于机器学习和深度学习的恶意WebURL检测系统实战详解
人工智能·深度学习·机器学习·网络安全
珂朵莉MM2 小时前
第七届全球校园人工智能算法精英大赛-算法巅峰赛产业命题赛第3赛季优化题--多策略混合算法
人工智能·算法
GlobalInfo2 小时前
2026-2032全球AI服务器连接器市场洞察:规模、竞争与趋势深度解析
人工智能
Elastic 中国社区官方博客2 小时前
使用 Jina-VLM 小型多语言视觉语言模型来和图片对话
大数据·人工智能·elasticsearch·语言模型·自然语言处理·jina