减少wasm包体等于减少下载首包时间+减少编译时间+减少进入游戏使用的内容。
也属于性能优化的一部分。下面是2个优化的大头,解决后会极大减少wasm包体大小。
一、设置代码剪裁等级为高

在打包后运行后可能会报错,缺少模块数字XX。
解决办法:
1.首包持有
在首包中的物体上强引用模块,比如缺少Animator,就在首包的一个空物体上放一个Animator、Animation等等。
2. link.xml

link.xml放在项目任意位置。
其中配置一定要保留那些模块,可以是unity模块,可以是自己的代码命名空间、类、方法、字段等。
3. [Preserve]
被标志的类不会被代码剪裁。
UnityEngine.Scripting.Preserve
public class MyImportantClass {
// 类内容
}
二、中文字体
一个中文字体通常在几mb大小,如果只将首包或全包中用到的文字单独生成一个字符集,就不需要三千或五千字的全字符集了。
一、字符收集
通常字符都是配置在excel或者Scriptobject,可以写个脚本扫描这些配置里面的字段。
当然也可以将所有用到的字符串维护在一个配置里,去重得到结果。
二、制作TMP字符集
使用TMP的FontAssetCreater即可,
但是注意,打包时候要把ttf字体文件移除,目前不清楚为什么会把ttf文件打进包里。
