Unity WebGL构建包过大无法部署,求适配GitHub Actions的免费托管方案
Unity WebGL 大文件部署问题解决指南
一、修复GitHub Pages部署问题
你遇到的核心问题是gh-pages分支中的.data文件未通过Git LFS正确托管,导致触发单文件100MB限制。按以下步骤调整:
- 确认Git LFS跟踪配置
确保仓库根目录的.gitattributes文件已正确添加跟踪规则,执行命令:git lfs track "*.data" "*.wasm" "*.js" git add .gitattributes git commit -m "Update LFS tracking rules" - 修改GitHub Actions部署流程
在你的部署Workflow中,添加拉取LFS文件的步骤,确保构建产物中的大文件是实际内容而非LFS指针:
注意:jobs: deploy: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 with: lfs: true # 启用LFS拉取 # 这里添加你的Unity构建步骤 - name: Build Unity WebGL run: | # 你的构建命令 - name: Deploy to gh-pages uses: peaceiris/actions-gh-pages@v3 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ./Build/WebGLactions/checkout的lfs: true参数会自动拉取LFS文件,避免指针文件被推送到gh-pages。 - 重置gh-pages分支并重新推送
再次清空gh-pages分支后,重新运行Workflow,确保构建后的大文件通过LFS推送到分支:
完成后重新触发GitHub Actions部署,此时gh-pages中的大文件会以LFS形式存储,不受100MB单文件限制(GitHub Team订阅下LFS单文件上限为5GB)。git checkout --orphan new-gh-pages git rm -rf . git commit --allow-empty -m "Init empty branch" git branch -D gh-pages git branch -m gh-pages git push -f origin gh-pages
二、Unity端优化(从根源减少文件大小)
除了部署调整,可在Unity中拆分大文件规避限制:
- 开启Split Application Binary:在Player Settings > WebGL > Publishing Settings中勾选该选项,Unity会将资源拆分为多个较小的文件,避免单个
.data文件过大。 - 优化3D模型:压缩模型纹理、降低多边形面数、使用AssetBundle拆分资源并按需加载,同时减少初始包体大小。
三、替代免费托管方案(支持GitHub Actions集成)
若GitHub Pages仍无法解决,可选择以下支持自动化部署的平台:
- Netlify:免费版支持单文件最大100MB,可直接通过GitHub Actions配置部署,适配Unity WebGL的产物结构。
- Azure Static Web Apps:免费层允许单文件最大100MB,适合具备.NET背景的开发者,可通过GitHub Actions完成全流程自动化部署。
- Render:免费版静态站点支持单文件最大100MB,支持通过GitHub Actions触发部署,配置流程简洁。
- Vercel:免费层单文件上限50MB,若通过Unity拆分资源包后可适配,支持GitHub Actions集成部署。
内容的提问来源于stack exchange,提问作者Aenye_Cerbin
相关产品推荐
相关产品推荐

