我想做什么

我正在开发一种门户网站来展示我的组织在Unity中制作的几个项目 . 为了保持灵活性和轻量级,我设计了一个使用资产包的架构:

  • 当用户下载门户时,他们下载的所有内容都是自动加载到主菜单场景中的引导场景 . 这使初始下载非常轻,并允许它们更快地进行 . 此外,拥有资产包中的所有其他内容可以最大化我们可以在交付后更新的3D内容量 .

  • 当主菜单下载并加载时,将向用户显示项目列表 . 每个项目都与可以按需下载的资产包相关联 . 这样,如果他们对一个项目而不是另一个项目感兴趣,他们就永远不会探索 .

  • 如果他们没有't already downloaded a specific project'资产包,他们会被一个按钮提示下载 . 如果他们有旧版本,则会提示他们更新它 . 如果全部都是最新的,则会提示他们访问它 .


问题

我遇到的问题是双重的:

  • 我'm unsure what is the best library to use to do what I'我试图做 . 目前,似乎有两种方式下载资产包WWW.LoadFromCacheOrDownload和UnityWebRequest.GetAssetBundle . 更不用说,Unity刚刚在Unite 2017上取消了ResourceManager和可寻址的资产(但这看起来很遥远) .

  • 无论我使用哪个库,似乎都没有内置的方法来检查本地或远程资产包版本而不下载包本身 .


到目前为止我做了什么

与此同时,我使用UWR下载远程包清单和Regexed用于CRC和哈希 . 现在看看Caching.IsVersionCached到Regex本地版本并进行比较,但该方法已经过时了......

有任何想法吗?