You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Firebase Hosting托管Unity Addressables文件?

用Firebase Hosting实现Unity Addressables远程资源加载

以下是适配移动游戏需求的实操方案:

1. 初始化Firebase Hosting环境

  • 登录Firebase控制台,创建/选择你的游戏项目,在左侧菜单启用Hosting服务。
  • 本地安装Firebase CLI,打开终端执行firebase login完成账号授权。
  • 在本地新建空文件夹作为Hosting部署根目录,执行firebase init hosting:
    • 选择对应的Firebase项目
    • 设置public目录为默认的public(后续存放Addressables资源)
    • 选择不配置为单页应用(输入N)

2. 配置Unity Addressables远程资源组

  • 打开Unity的Addressables Groups窗口,右键创建新的Packed Asset Group,命名比如RemoteAssets。
  • 选中该Group,在Inspector面板设置:
    • Build Path:选择RemoteBuildPath(默认指向ServerData/[Platform]/remote)
    • Load Path:选择RemoteLoadPath(默认占位路径后续替换为Firebase域名)
  • 将需要远程加载的资源(模型、贴图、场景等)拖入RemoteAssets组。

3. 构建并导出Addressables远程资源

  • 在Addressables Groups窗口点击Build→Build Player Content,等待构建完成。
  • 找到Unity项目根目录下的ServerData/[目标平台]/remote文件夹(如ServerData/Android/remote),将其中所有文件/文件夹复制到Firebase Hosting的public目录下。

4. 部署资源到Firebase Hosting

  • 回到Firebase部署根目录的终端,执行firebase deploy --only hosting。
  • 部署完成后,控制台会输出你的Hosting域名(如your-game-project.web.app),记录该地址。

5. 配置Unity指向Firebase Hosting地址

  • 打开Unity的Addressables Profiles窗口(Window→Asset Management→Addressables→Profiles)。
  • 找到RemoteLoadPath对应的变量值,将默认的http://localhost:8080/remote替换为Firebase域名路径:https://your-game-project.web.app/remote。
  • 若需动态切换环境(测试/生产),可在游戏启动时通过脚本覆盖加载地址:
    var settings = Addressables.ResourceManager.ResourceProviders[typeof(ContentCatalogDataProvider).FullName] as ContentCatalogDataProvider;
    settings.OverrideCatalogLocation = new ResourceLocationData {
        InternalId = "https://your-game-project.web.app/remote/catalog.json"
    };
    

关键注意事项

  • 缓存策略:Addressables默认给资源文件添加哈希后缀,更新资源后文件名会自动变更,无需担心缓存问题。若需精细控制,可修改Firebase的firebase.json添加缓存规则:
    {
      "hosting": {
        "public": "public",
        "headers": [
          {
            "source": "remote/**",
            "headers": [{"key": "Cache-Control", "value": "public, max-age=3600"}]
          }
        ]
      }
    }
    
  • 测试验证:在Unity编辑器中,将Play Mode Script切换为Use Existing Build,运行游戏测试远程资源加载;也可构建移动测试包在真机上验证。
  • 资源更新:后续更新远程资源时,只需重新构建Addressables内容,覆盖Firebase Hosting的public/remote文件夹,再执行firebase deploy即可,无需重新打包游戏。

内容的提问来源于stack exchange,提问作者Aleksandar Ruseski

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 03:15:01