Unity开发微信小游戏-减少WASM包体大小

减少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文件打进包里。

三、根据项目情况选择合适的字符集图集大小

相关推荐
五仁烧饼8 小时前
Unity Addressables 静默资源策略
游戏·unity·addressables
ue星空15 小时前
【Godot】更换编辑器外观主题
编辑器·游戏引擎·godot
fanfan_hongyun16 小时前
unity 与cad 坐标系映射
unity·游戏引擎
神码编程19 小时前
【Unity】 HTFramework框架(七十)MultiChoiceDropdown可多选的下拉菜单
unity·游戏引擎·ugui·dropdown·下拉菜单
ue星空20 小时前
Godot 2D像素游戏移动抖动、模糊问题解决方案
游戏·游戏引擎·godot
淡海水20 小时前
15-07-YooAsset面试篇-Unity性能优化与内存管理
java·unity·面试·性能优化·c#·游戏引擎
ue星空20 小时前
【Godot】AudioStreamPlayer2D音频播放
游戏引擎·音视频·godot
海兰2 天前
ffmpeg-wasm 完整安装指南(Ubuntu 24.04)
ubuntu·ffmpeg·wasm
zhchyun20082 天前
# 【Unity UI 进阶】仿 Element UI 打造企业级 Unity UI 组件库(03)
unity
淡海水2 天前
15-02-YooAsset面试篇-Unity架构设计与源码
java·unity·面试·c#·游戏引擎·yooasset