刚用 Unity 的时候,在 Unity Hub 里看到一长串版本号,什么2021.3.16f1、2022.3.10f1c1、6000.0.0b15,完全不知道后面的字母代表什么。后来用得多了才慢慢搞清楚,这里把我理解的记下来,省得以后忘。
一、版本号的结构
一个完整的 Unity 版本号大致长这样:
主版本.次版本.修订版本 + 后缀拿2021.3.16f1举例:
2021是主版本,也就是年份(Unity 6 之后直接是 6,但内部版本号是 6000,后面细说)3是次版本,这一年里的第几个正式版本,同时也对应这一年的 LTS 版本号16是修订版本,在第 3 版基础上更新的次数f1是后缀,表示版本类型
所以版本号其实就是告诉你:这是哪一年推的、第几个版本、修了多少次、以及它是测试版还是正式版。
二、后缀字母都是什么意思
f:正式版
f是 Final 的缩写,表示这个版本是正式发布的稳定版,可以拿来正经做项目。比如2021.3.16f1就是正式版的第一次发布。大多数情况下,我们用的都是带f的版本。
p:补丁版
p是 Patch 的意思,只出现在 LTS 版本上。比如2021.3.16f1之后可能会发一个2021.3.16p1,就是在原来那个版本上打了个补丁,修一些关键 bug 或者安全漏洞,不会加新功能。如果你的项目已经在某个 LTS 上跑稳了,后续只升p版本就好,风险最小。
b:测试版
b是 Beta 的缩写,功能基本做完了,但可能还有没发现的 bug。比如6000.0.0b15就是 Unity 6 的第 15 个测试版。这种版本适合想提前体验新功能的人,别拿来做正式项目,出了崩溃或者兼容问题很麻烦。
a:早期测试版
a是 Alpha 的意思,比 Beta 更早,功能可能还没做完,随时可能大改。一般玩家看到a开头的基本可以直接忽略,除非你是开发者或者特别喜欢折腾。
c:中国版
c是 China 的缩写,版本号最后会多个c1之类的标记。比如2021.3.16f1c1就是在2021.3.16f1基础上做的中国特供版。里面集成了国内常用的服务,比如本地化文档、国内账号体系、合规的云服务等。在国内的话,用中国版有时候会更方便,但版本更新通常会慢半拍。
LTS:长期支持版
严格来说 LTS 不是后缀,而是一个版本类型。Unity 每年会选一个版本作为 LTS,承诺至少维护两年,期间不断推补丁修问题。比如 2021.3 和 2022.3 都是 LTS。正式项目基本都建议选 LTS,图个稳。
TECH:技术预览版
有些版本号后面会带TECH,表示这是个技术预览版,专门用来展示某项新技术的,比如早期的 DOTS 相关版本。这种版本稳定性很差,只能拿来学习或者测试,千万别用在正式项目里。
三、Unity 6 之后的版本号变化
Unity 6 开始,官方放弃了年份命名,但又不想回到6.0.0这种看起来太小的数字,所以内部版本号用了6000开头。比如 Unity 6 的第一个正式版内部号是6000.0.xf1。也就是说你看到6000.0.23f1,实际上就是 Unity 6 的某个正式版。这个刚开始看会有点懵,但知道它对应的是 Unity 6 就行。
四、我平时怎么选版本
个人习惯:
- 正式项目直接选最新的 LTS,比如现在就是 2022.3 LTS,稳定省心。
- 学习新功能可以装一个最新的正式版(非 LTS 的
f版本),但心里清楚它不会长期维护。 - 想尝鲜就上 Beta,但只装在副机或者虚拟机里,坏了不心疼。
- 国内网络不好、账号登录困难的话,去 Unity 中国官网下中国版(
c后缀),针对国内网络做了优化。
最后补一句:版本号这东西不用死记,下载的时候认准f和 LTS 基本不会出大错,其他后缀碰到了再回来查就行。