
只想使用预编译的二进制文件运行该工具?
下载Unity Size Explorer
在为移动设备开发Tumblestone时,我需要大大减少游戏所需的磁盘空间数量。对于iOS,特别是游戏中必须处于或以下100 MB。玩家必须在WiFi上下载以上100 MB以上的游戏 - 最初,Tumblestone超过1 GB!我开发了此工具,以帮助将未来的汤列斯通从1 GB降低到100 MB。
通常,您可以在构建后查看Unity编辑器的日志,以查看游戏文件大小的一些统计数据。这就是它的样子:
Textures 33.1 mb 54.1%
Meshes 0.0 kb 0.0%
Animations 0.0 kb 0.0%
Sounds 8.3 mb 13.6%
Shaders 172.8 kb 0.3%
Other Assets 8.2 mb 13.4%
Levels 82.1 kb 0.1%
Scripts 4.7 mb 7.7%
Included DLLs 6.4 mb 10.5%
File headers 201.5 kb 0.3%
Complete size 61.3 mb 100.0%
Used Assets and files from the Resources folder, sorted by uncompressed size:
2.1 mb 3.4% Assets/Spritesheets/v2/Spritesheet1.png
2.1 mb 3.4% Assets/Spritesheets/v2/Spritesheet2.png
2.0 mb 3.3% Assets/Spritesheets/v2/Spritesheet3.png
2.0 mb 3.3% Assets/Spritesheets/v2/Spritesheet4.png
// list continues for every file included in the game
这很有帮助。它告诉您您的游戏有多大,并通过高级类别破坏了事情。您甚至可以浏览以下资产列表,以找到最糟糕的罪犯。当第一次开始优化文件大小时,这通常是足够的,因为最大的文件(顶部列出)可以优化,从而获得很大的改进。
但是,为了适应100 MB的拟合,我到达了文件列表不再非常有用的地步。那是因为不再有一个或两个大文件要优化。一切不必要的东西已经很小了,如果我想再挖出10或15 MB,我需要在整个文件夹或类别的文件中敲击。 Unity的日志文件列出了按大小排序的每个文件,因此很难看到更大的图像。
进一步加重事物的是,统一仅在建造后才会产生上述内容。在我为iOS的案例中,通常需要5到10分钟。这意味着我的工作流程在我进行更改,构建,然后比较了旧日志文件时被抽出。有时结果按预期工作,我可以继续。其他时候,变化的影响较小,并被丢弃。我需要一种方法来更快速,更准确地衡量优化将产生的影响,而无需每次迭代10分钟。
这就是此工具的出现。它读取日志文件并生成树视图和饼图。树视图列出了文件夹分组的每个文件 - 就像文件系统中一样。您可以扩展或折叠文件夹以查看子文件夹和文件。您可以检查给定的文件或文件夹,不包括投影游戏文件大小的相应大小。另外,有一个不错的饼图在视觉上显示了与项目其余部分相对使用的空间。
您是否有功能请求,问题,或者您想报告一个错误?请在问题列表中发布它们。
由于这个项目是由一个人维护的,因此我无法修复每个错误或自己实施每个功能。因此,贡献非常感谢!
一个开始的好方法:
Unity Size Explorer是开源软件,根据MIT许可条款获得许可。有关详细信息,请参见License.txt。
Unity Size Explorer是为Windows编写的WPF程序。它需要.NET 4.5.2。在Source下使用Visual Studio和打开解决方案文件。您可能需要在第一次运行时还原Nuget软件包。