AssetServer和Asset Cache Server有什么区别

本文详细解释了Unity中AssetServer和AssetCacheServer的功能差异及使用场景。AssetServer类似SVN的版本控制工具,用于资源版本管理;AssetCacheServer则用于缓存已转换的资源文件,以实现快速切换发布平台并减少资源转换时间。

1.AssetServer、Asset Cache Server有什么区别?
答:他们两就不是一个东西,没有任何关系,没有任何相似性。


2.AssetServer、Asset CacheServer是什么东西?
答:
asset server 是类似SVN的简单版本控制工具。
asset cacheserver是用来cache资源的,主要用于快速切换发布平台。例如原本是IOS环境下要切换安卓环境,能通过cache缓存好的安卓资源下载下来直接用,而不用U3D慢慢转(尤其是光照贴图、字体等要转半天)。第一次转换的时候还是需要那么多时间,之后缓存了就能直接用了。
当然这两个都是U3D内置的工具,需要PRO版。


3.这两个要同时用么?
答:不需要,它们俩没有任何关系。

4.还是没能理解asset cacheserver?
答:
例子:
我要BUILD一个WEB平台的游戏~~BUILD的时候u3d就会将资源转成相应的WEB资源。
当你需要再BUILD一个WINDOWS版本的时候,u3d则会将资源转换为Window相应的资源。
cache server就是将本来已经转换好的资源,从cache服务器直接下载下来,而不用再次转换。
若U3D转换资源需要10几分钟,那么在内网的服务器下载CACHE的东西,可能1分钟就搞定了。
这个工具主要是用来切换平台节省转换资源的时间的。

原文地址:http://blog.sina.com.cn/s/blog_5b6cb9500102v6hv.html

<think>我们正在处理一个关于Unity引擎中MCC缓存丢失的问题。根据用户的问题,我们需要提供解决方案或原因分析。 首先,我们需要理解MCC缓存是什么。在Unity中,MCC可能指的是“Managed Code Cache”或类似的概念,但更常见的是,用户可能指的是“Material Cache”或“Shader Cache”等。然而,根据问题中的“MCC”,我猜测可能是指“Material Cache”或“Managed Cache”相关的内容。在Unity中,有一个常见的缓存问题是“Shader Cache”丢失,这通常会导致重新编译着色器,从而造成项目加载时间变长。 但是,由于问题中明确提到“MCC”,我注意到Unity有一个“Managed Code Cache”机制,用于缓存由IL2CPP生成的托管代码,以加快构建时间。如果这个缓存丢失,可能会导致每次构建时都需要重新生成代码,从而增加构建时间。 因此,我们假设用户指的是Unity的Managed Code Cache(MCC)丢失的问题。 可能的原因: 1. 缓存目录被清除:可能由于磁盘清理工具、手动删除或系统清理导致缓存目录被删除。 2. 缓存目录路径问题:可能由于权限问题,Unity无法访问缓存目录。 3. Unity版本更新:升级Unity版本后,缓存可能不再兼容,导致需要重新生成。 4. 项目路径更改:如果项目移动到了不同的位置,缓存可能不会自动迁移。 解决方案: 1. 检查并设置缓存路径: - 在Unity编辑器中,打开Edit > Preferences > Cache Server(或Edit > Preferences > GI Cache,但注意MCC可能不在同一个位置)。 - 实际上,对于Managed Code Cache,它通常存储在系统特定的缓存目录中。我们可以尝试重置缓存或更改缓存位置。 2. 重置缓存: - 关闭Unity。 - 删除缓存文件夹。缓存位置通常位于: - Windows: `%LOCALAPPDATA%\Unity\Cache` - macOS: `~/Library/Unity/Cache` - Linux: `~/.config/unity3d/Cache` - 注意:删除整个缓存文件夹可能会清除所有缓存,包括其他项目的缓存,但可以解决缓存损坏的问题。 3. 使用命令行参数指定缓存路径(可选): - 启动Unity时,可以通过命令行参数指定缓存路径,例如: `Unity.exe -cachePath [自定义路径]` 4. 确保磁盘空间充足:缓存丢失可能是由于磁盘空间不足导致。 5. 检查防病毒软件:有些防病毒软件可能会误删缓存文件,将Unity的缓存目录加入白名单。 6. 更新Unity:如果是因为Unity版本bug导致缓存丢失,更新到最新版本可能修复。 7. 使用Cache Server(针对Asset Cache,但Managed Code Cache可能不适用): - 对于大型团队,可以使用Unity Cache Server来共享缓存。但Managed Code Cache通常是在本地生成,不通过Cache Server。 由于Managed Code Cache主要是为了加速IL2CPP构建,所以如果遇到每次构建都要重新生成代码的问题,可以尝试以上方法。 另外,Unity 2019.3及以后版本中,IL2CPP的缓存机制有所改进,如果使用旧版本,考虑升级。 如果问题仍然存在,可以尝试在Unity论坛或官方文档中查找相关信息。 根据以上分析,我们给出解决方案。 注意:在操作前,请备份重要数据。 引用说明:我们参考了Unity的一般缓存管理实践[^1]IL2CPP构建过程的相关知识[^2]。 生成相关问题: 1. 如何提高Unity的构建速度? 2. Unity的Cache Server如何配置? 3. IL2CPP构建过程中有哪些优化方法?</think>### Unity MCC缓存丢失解决方案 在Unity开发中,MCC(Managed Code Cache)缓存丢失是常见问题,通常表现为每次构建项目时都需要重新编译托管代码,导致构建时间显著增加。以下是系统性的解决方案: #### 核心解决步骤 1. **验证缓存路径权限** - 打开Unity编辑器 → `Edit > Preferences > Cache Server` - 检查缓存路径(默认路径: - Windows: `%LOCALAPPDATA%\Unity\Cache` - macOS: `~/Library/Unity/Cache`) - 确保当前用户对该路径有**读写权限**(右键文件夹属性 > 安全选项卡) 2. **重置缓存数据库** ```bash # 关闭Unity后执行 rm -rf ~/Library/Unity/Cache/* # macOS del /s /q %LOCALAPPDATA%\Unity\Cache\* # Windows ``` 重启Unity时会自动重建缓存,首次构建可能较慢[^1]。 3. **配置缓存大小限制** Unity 2019.3+ 版本在 `Preferences > Cache Server` 中: - 将 `Cache Size Limit` 提升至 20-50 GB(根据项目规模调整) - 禁用 `Limit Cache Size` 选项(适用于大型项目) 4. **检查防病毒软件冲突** 将以下目录加入杀毒软件白名单: - Unity缓存目录 - 项目工程路径 - Unity安装路径(如 `C:\Program Files\Unity`) #### 进阶排查方案 ```mermaid graph TD A[缓存频繁丢失] --> B{磁盘空间检查} B -->|不足| C[清理磁盘或扩容] B -->|充足| D{项目路径验证} D -->|含特殊字符| E[移动项目至纯英文路径] D -->|路径正常| F[检查Unity版本兼容性] F -->|跨大版本| G[升级至最新LTS版本] F -->|版本一致| H[重装Unity Hub] ``` #### 预防措施 1. 使用版本管理时,在 `.gitignore` 添加: ``` /Library/ /Temp/ /Obj/ /Build/ ``` 2. 避免在构建过程中强制关机 3. 定期执行 `Assets > Reimport All` 刷新依赖关系 > 若以上步骤无效,可能是Unity版本底层缺陷,建议升级至**2021.3 LTS**或更新版本,该版本已修复IL2CPP缓存稳定性问题[^2]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值