Unexpected final boss for games kit SpatialOS: Unity blasts multiplayer GDK out of the cloud

Game over for Brit-based maker of real-time online gaming platform?

Demo FPS game built using SpatialOS

Updated Improbable, the UK-based maker of the SpatialOS Game Development Kit (GDK) for the Unity game engine, on Thursday warned that all Unity-based titles integrating its GDK are now violating Unity's Terms of Service.

In a blog post, the company informed customers that Unity changed its terms of service on December 5, and on Wednesday got in touch to explain that its terms of service "specifically disallow services like Improbable’s to function with their engine."

The SpatialOS GDK provides a cloud platform to serve real-time multiplayer games. It can be integrated into various game engines, such as Unity, Unreal Engine, and Cryengine.

Such tools are often used by small and mid-tier gaming companies to hasten software development. Larger gaming companies tend to build their own technology to limit reliance on vendors, though Blizzard chose Unity for its popular Hearthstone card game.

The upshot is that multiplayer games built using SpatialOS may have to be pulled offline as a result of being in breach of Unity's fine print, though at least one developer, Bossa Studios, has been assured its SpatialOS-based title, Worlds Adrift, can stay up and running while Unity and Improbable work through this falling out.

In a phone interview with The Register, Daniel Griffiths, head of communications for Improbable, said he couldn't provide any insight into why Unity singled the company out.

"The thing that changed in the terms of service is a restriction on streaming and cloud gaming, specifically managed services," he said. "We believe it's that change that led to the identification of our service. It's a managed platform for multiplayer gaming. It's effectively a network backend product."

Always read the T&Cs

Section 2.4 of Unity's software terms of service forbids streaming or broadcasting Unity software, including the Unity Runtime, if it's executed or simulated by a remote server and transmitted over any network to an end user device without a separate license from Unity. It disallows the use of a managed service or plugin to execute the Unity Runtime on the cloud or a remote server without permission from the company.

"Unity has clarified to us that this change effectively makes it a breach of terms to operate or create SpatialOS games using Unity, including in development and production games," the British company said in its post.

But lack of clarity about how Unity intends to enforce its revised license has others game makers concerned. Improbable said Unity has hurt projects across the industry, particularly among smaller developers, leaving games in legal limbo.

Game maker Ruari O'Sullivan via Twitter lamented that Unity's handling of the situation represents a nightmare scenario for game developers. "I can't fathom how anyone will be able to trust Unity if they're ready to do this," he said.

Via Twitter, Tim Sweeney, founder and CEO of Epic Games, which makes the competing Unreal Engine, mused, "Did Unity just prohibit all cloud-hosted multiplayer games? You couldn’t operate Fortnite, PUBG, or Rocket League under these terms."

Taking a dig at Unity's business practices, he later added, "Unreal developers are free to deploy games across any vendor’s cloud services or host hardware themselves without any restrictions. Epic has never sought, and does not receive, any fees or 'value added reseller' kickbacks from cloud hosting providers."

We've been here before

The situation recalls the confusion in April 2010 when it appeared that Apple, keen to keep Adobe Flash apps off iOS devices, revised its iOS 4 developer rules to ban apps not made with a handful of approved technologies, such as Objective-C, C, C++, or JavaScript. Unity was around at the time and it was unclear whether the rule change would prevent Unity games from being distributed in its App Store.

In September that year, after lobbying from developers and game companies, Apple reconsidered and revised the wording of its rules to allow apps created with any development tools so long as the apps didn't download executable code. Apple further relaxed its executable code ban in 2017

There may be something specific about SpartialOS's architecture that presents problems for Unity: Rather than using a single, authoritative server to oversee a unified game world for multiple clients – a common setup in gaming – it coordinates multiple servers through various server-side worker programs.

Robot solving Rubik's Cube

Unity tweaks AI training tools, makes bid for academic respect

READ MORE

"Our runtime efficiently knits together workers that are effectively microservices running on individual cores," said Griffiths. "There's a lot of load balancing and transfer of data across core boundaries."

But Improbable can't be certain what the real issue is until it discusses the matter in depth with Unity, something that company plans to continue doing. According to cloud biz, the rule change occurred during negotiations with Unity, suggesting Unity may want to control cloud services revenue for games made with its game engine.

Licensing changes affecting proprietary products like Unity can be a worse-case scenario for developers dependent on the technology.

"Something that this has really brought home to us is if you're a developer or independent studio, it's not great to be vulnerable to changes in licensing agreements, especially if you've already invested significant time or resources into developing a game," Griffiths explained.

Improbable says it has set up an emergency fund to assist partners facing financial challenges as a result of Unity's enforcement action and has pledged to make its GDK open-source under an MIT license.

The Register asked Unity to comment. A company spokesperson said a statement is planned, but we've not heard back. ®

Updated to add

In a statement emailed to The Register, Unity CTO Joachim Ante disputed Improbable’s version of events.

“We terminated our relationship with Improbable due to a failed negotiation with them after they violated our terms of service,” said Ante. “We’ve made it clear that anyone using SpatialOS will not be affected.”

Ante said Unity had been in discussion with Improbable for more than two years, but rather than negotiate, the firm “chose an approach which doesn’t involve partnering with Unity, but instead involves making unauthorized and improper use of Unity’s technology and name in connection with the development, sale, and marketing of its own products.”

Ante said Unity informed Improbable in writing six months ago that they were in violation of the company’s Terms of Service.

“Two weeks ago we took the action of turning off Improbable’s Unity Editor license keys,” he said. “This is a unique case -- and not a situation we take lightly -- but Improbable left us no choice. This was the only course of action to protect the integrity and value of our technology and Unity developers.”

Projects that are in production or live using SpatialOS are not affected, he explained.

Ante said the changes to the company’s Terms of Service represented an attempt to clarify its distribution and streaming restrictions.

“If you want to run your Unity-based game-server, on your own servers, or a cloud provider that provides you instances to run your own server for your game, you are covered by our EULA,” he explained. “We will support you as long as the server is running on a Unity supported platform.”

What’s not allowed is running Unity Runtime in the cloud with an additional SDK from a non-approved Unity platform partner.




Biting the hand that feeds IT © 1998–2019