Unity 打包体积优化

最近看了些关于Unity体积优化的方案的文章以及Unity官方文档,总结了一下

资源优化

  • 压缩图片大小,对于精度要求不高的贴图,降低其尺寸,根据平台需要选择合适的压缩算法。
  • 关闭图片minimap和A通道。
  • Sprite Atlas 图集(原Sprite Packer),把多个图打包为一个图
  • 网格优化:Mesh Compression 设置为 Low、Medium 或 High
  • 使用Prefab代替场景
  • 使用Addressable把资源拆包到CDN下载

代码优化

  • 在 Mono 上将 iOS Stripping Level 设置为 Use micro mscorlib__,或在 IL2CPP 上启用 Strip Engine Code
  • IL2CPP开启托管代码剥离
  • 不要使用System.dll的方法(此方法需要重构代码,把所有使用的地方替换掉)
  • 删除不必要的代码依赖项
  • API Compatibility Level 选择 .NET Standard 2.0

打包优化

通用

  • 关闭静态资源合批
  • 打包版本选择Release
  • Build Settings Compression Method Release时选择LZ4HC

Android

  • 如果没有必要,减少Android支持的架构(每增加一个架构,就会多出一套符号表,解压出来50+MB)
  • Publish Settings 启动Minify

产物优化

iOS 优化

  • 关闭bitcode

参考文章