“如果任何软件库的制造商认为自己有权获得安装份额——这是危险的道路,”——与专家们关于Unity Runtime的对话
新的Unity收费被称为运行时费用(Runtime Fee)。它的名字是为了纪念Unity Runtime库的集合。公司认为,由于库与游戏一起安装在用户设备上,因此开发者应为此支付费用。关于Unity Runtime的概念,我们与Yerevan Cowboys Games的创始人基里尔·沙博尔丁(Kirill Shabordin)和Infinite Art Solutions的创始人阿列克谢·佩切宁(Alexey Pechenin)进行了讨论。
什么是Unity Runtime?
基里尔·沙博尔丁
这是一组库和可执行文件,包含在任何使用Unity引擎制作的游戏中。简单来说,任何Unity游戏都由Unity Technologies生产的框架和播放器以及用户代码和资源组成。这一点并没有什么新奇之处,其他游戏引擎大致上也有相似的结构。
阿列克谢·佩切宁
Unity由两个主要部分组成:Unity Editor和Unity Runtime。如果Unity Editor用于游戏开发,那么Unity Runtime则负责在设备上运行游戏。它负责绘制图形、物理计算、音效和其他功能。当您从Unity导出项目时,Runtime帮助其在不同平台上运行,包括Windows、macOS、Linux、Android、iOS、游戏控制台甚至通过WebAssembly和WebGL在网络浏览器中运行。
Unity的说法是否正确,即每个游戏都安装了Unity Runtime?
基里尔·沙博尔丁
当然是这样。如果要严格说,不是“安装”,而是“包含在内”。很明显,Unity Technologies更愿意把自己视为最终用户的产品供应商,因此他们试图把自己的工具视为一个独立的b2c产品。但从这个逻辑来看,任何软件库都可以被视为b2c产品,但在现代世界并非如此。
阿列克谢·佩切宁
Unity Runtime在安装或启动基于Unity开发的游戏时会自动安装到玩家的任何设备上。没有它,游戏将根本无法启动。
使用Unity Runtime的游戏是否会与Unity的服务器进行交互?
基里尔·沙博尔丁
据我所知,没有。
Unity框架的运行不需向任何外部资源发出请求。
框架中有一些功能使用Unity Technologies的基础设施(例如CI或广告集成系统),但如果您没有明确使用这些功能,游戏在运行时就不会向任何外部服务器发出请求(我当然也很久没检查过,但如果是这样的话我们早就知道了)。
阿列克谢·佩切宁
这要看开发者的目标。在Unity的标准配置中,当游戏运行时,Unity Runtime不会与Unity的服务器进行交互。它在用户设备上本地工作。
但如果您使用了Unity Analytics或Unity Ads,执行这些功能可能需要访问Unity的服务器。
当确实要与服务器进行交互(例如LiveOps游戏),是否可以说这种交互给Unity带来了额外的成本?
基里尔·沙博尔丁
Unity Technologies的成本结构,即使它是一家上市公司,也是相当复杂的。几天内我也没弄明白他们在2022年花掉了20亿美元的去向。
谈到LiveOps,这些Unity服务是收费的,他们有自己的定价,和竞争对手处于同一水平。所以这并不是一个免费的引擎附加应用。
阿列克谢·佩切宁
如果Unity游戏中使用了需要访问服务器的服务(例如Unity Analytics、Unity Ads或Unity Networking),那么当然会有网络交互。但并非所有游戏都需要它们。只有使用这些服务的游戏才会与Unity的服务器进行交互。
至于持续更新的LiveOps游戏,它们会访问服务器,但不一定是Unity的服务器。这取决于开发者如何设置游戏。
对于Unity来说,提供和维护这样的云服务肯定会带来额外的支出,但这些费用可以通过使用其功能的付费许可来弥补。
Unity的政策中是否有要求在安装时必须从Unity服务器加载数据的条款?如果有,是否可以说Unity自己强迫每个使用其引擎制作的游戏使用其服务器来处理各种非必要的手续,然后想要对此征税?
基里尔·沙博尔丁
没有。基于上述原因:您没有义务使用Unity的服务,没人会强迫您。所有这些服务都有自己的定价,并在当前危机之前就已经正常运作。
阿列克谢·佩切宁
早前在Unity的许可协议中并没有这样的条款。是否使用Unity的云服务是自愿的。引擎将这些服务视为简化开发、货币化或数据分析的额外选项。
有多少其他工具和服务具有自己的运行时,按照类似原则工作?通常情况下,成本在谁的一方?
基里尔·沙博尔丁
任何引擎的结构都是类似的,这并不是Unity Technologies的发明。将标准运行时称为“供应”给用户的框架,是为了更简单地解释货币化决策的一个政治手段:“既然我们在每次加载时都安装运行时,我们就想从每次加载中收取费用。”
实际上,任何软件库的生产者现在都可以这样说:“既然您使用我的库,我将其视为不是提供给您开发者的,而是提供给最终用户的。这意味着我有权从安装中获取份额。”
这是一条危险的道路,可能会改变整体开发环境,而非使已经处于困境的超休闲公司走向灭亡,或是付出20美分的代价去支付已经从Steam获取了30%收入的高级游戏。
阿列克谢·佩切宁
其他现代引擎,例如Unreal Engine、CryEngine或Godot也有自己的运行时环境。它负责确保编译代码能够在不同平台上运行。
例如,Godot是一个开源引擎。开发者只有在需要服务器时才支付费用。我认为这是一个合理的选择。如果Unity要求开发者为例如Unity Analytics等服务支付费用,那将是一个清晰的解决方案。您使用服务,通过它们获利,就应该支付给开发者。这是一个明确的概念。
我们在Infinite Art Solutions会很高兴为Unity的服务付费,如果它们能解决我们的需求。哪个公司会拒绝使用不繁重项目的内置服务呢?
就像微软强迫所有用户为其PC上预装的Edge浏览器付费,即使你根本不使用它。