前言
虽然 Unity 是付费软件,但是对个人来说基本可以免费使用。
所以一般情况下应该没必要去下载破解版,但是 Unity 自身的反破解程序(即许可证)却会出现一些奇奇怪怪的问题。
事件经过
昨天晚上还撸的好好的,今天早上就打不开项目了。
报错信息为:License Error
,意思是说许可证错误。
然后返回 Unity Hub 重新激活许可证,不管是【手动激活】还是【激活新许可证】,都没用。
找出问题
因为装的是正版的 Unity,也没有装过破解版的,所以问题并不在于破解版的关系,而是 Unity 自身哪个地方出问题了。第一个想到的就是——卸载重装!
万能的方法:电脑出问题就重启,大屁股电视机没信号就拍拍屁股,软件出问题就卸载重装!
不是直接卸载 Unity Hub,而是卸载 Unity。
中间我尝试了一下用旧版的 Unity(2021.1.9c1f1)打开以前的老项目,发现能正常打开。因此我推断可能是 Unity 版本的问题,然后把现在用的 Unity(2021.2.5c1f1)卸载了,安装最新的 2021.2.7c1f1 版本,尝试打开项目,结果还是报错了。
(这就十分奇怪了……怎么还跟项目有关系呢?既然许可证有问题,那为什么还能用老版本打开旧项目?)
再进一步的测试,直接用 Unity 打开项目,发现竟然成功了!
也就是说问题出在 Unity Hub 上面,绕开 Unity Hub 就不会有许可证问题。
但咱用的可是正(mian)版(fei) Unity 呀!怎么搞得跟破解版一样?
而且 Unity Hub 可以很方便的管理项目,不能放弃 Hub。
于是我就把 Unity Hub 卸载重装 V3Beta 版本,结果打开居然直接黑屏……
然后换回原来的 v2.5 版本的 Hub,也是打不开项目。
原因竟然是……
通过上面的尝试,已经发现了是 Hub 的问题,卸载重装也没办法解决。
那肯定不是文件损坏或者缓存之类的问题了。
要怎么办呢?我突然想到……
会不会是因为 IP 的变化导致的?
因为要翻墙谷歌搜东西,所以我平时都是开着 VPN 的。
换句话说,可能每次启动 Unity Hub 打开现在正在做的游戏,然后它就会把常用的 IP 记录下来,做成一张表,当你下次访问的时候,Unity Hub 就会看看你现在的 IP 是不是在这张表里,如果不是,那就属于异地登录了(意味着你的许可证在别的地方被人用了)Unity 是付费软件,即使你花钱买了正版,但是它还是有登录机子数量的限制,而不是说你花钱买了正版,就能把许可证发给整个组织的人用,这样它不是亏死了……
查了下相关的资料,好像是许可证确实有 IP 的限制,更加证实了我的猜想。
综上所述,原因很可能是因为我平时开着 VPN,结果常用 IP 被记录成代理 IP 的地址了。
而恰巧今天没开 VPN,所以才导致了我用的是真实 IP 访问,结果反而被 Unity Hub 当做异地登录限制了。
问题解决
直接把 VPN 开启为【全局模式】,再打开 Unity Hub 启动项目,果然成功了。
案件整理
Unity Hub 打开项目提示“License Error”(许可证错误)是因为 Unity Hub 作为商业软件,本身有一套防破解机制,需要定期联网激活,而在激活的时候,Unity Hub 也会将你当前的本机 IP 记录下来,保存在常用登录 IP 中,作为商业软件,由于其具有利益性,因此许可证的使用是有限制的,哪怕是个人的免费版,也将被限制在为数不多的几个 IP 地址中使用,而这种限制,很可能还与 Unity 的版本有关。
当然,以上也仅仅只是推测。
如果因为 IP 的变动就不能正常激活,那如果我们带着笔记本去图书馆之类的地方,IP 也会发生变化,如果限制条件过于严格,那用户的体验也会直线下降……中国虽然在互联网不发达的时候盗版平常,但现在的版权意识已经提高很多了,如果能出一个个人学习版买断制,那相信也会有很多人愿意花钱入正。