Improbable and Unity don't agree on the facts of the ongoing terms of service dispute.
Yesterday was a whirlwind for Unity developers using the SpatialOS middleware multiplayer solution. It began early in the day, with SpatialOS developer Improbable alerting its customers that their games were in jeopardy due to a change in Unity’s terms of service. What followed was panic, confusion, conflicting statements, and ultimately a play by Epic Games to woo SpatialOS devs from Unity to Unreal Engine.
In what Improbable calls its “final statement” on the matter, the company takes issue with how Unity portrayed the issue. “Improbable’s blog is incorrect,” Unity says. “We terminated our relationship with Improbable due to a failed negotiation with them after they violated our Terms of Service.”
Unity says that it alerted Improbable more than a year ago that it was in violation of the engine’s terms of service. That was followed up with a written warning and, ultimately, the deactivation of Improbable’s Unity Editor licenses. Despite this action, Unity says that developers using SpatialOS are not targeted and have nothing to worry about. Their games will be unaffected.
Improbable rebuts the claim that it was in violation of Unity’s terms of service, specifically stating that it received explicit confirmation of compliance from “Unity at the most senior level.” Improbable allegedly provided technical data to Unity to make that determination and was cleared after review.
“We regarded this as the end of the matter and proceeded with commercial discussions,” Improbable says. “Until the recent change, neither we nor Unity had reason to believe there was any issue for developers.” That all changed after an update to Unity’s terms on December 5, 2018.
According to Improbably the old terms of service put SpatialOS squarely in compliance:
You may not directly or indirectly distribute the Unity Software, including the runtime portion of the Unity Software, or your Project Content (if it incorporates the runtime portion) by means of streaming or broadcasting so that any portion of the Unity Software is primarily executed on or simulated by a server and transmitted over the Internet or other network to end-user devices without a separate license from Unity. This restriction does not prevent end users from remotely accessing your Project Content from an end user device that is running on another end user device. You may not use a third party to directly or indirectly distribute or make available, stream, broadcast (through simulation or otherwise) any portion of the Unity Software unless that third party is authorized by Unity to provide such services.
The new terms contain key provisions that put SpatialOS out of bounds (emphasis added):
You may not directly or indirectly distribute the Unity Software, including the runtime portion of the Unity Software (the “Unity Runtime”), or your Project Content (if it incorporates the Unity Runtime) by means of streaming or broadcasting so that any portion of the Unity Software is primarily executed on or simulated by the cloud or a remote server and transmitted over the Internet or other network to end-user devices without a separate license or authorization from Unity. Without limiting the foregoing, you may not use a managed service running on cloud infrastructure (a “Managed Service”) or a specific integration of a binary add-on (for example, a plugin or SDK) or source code to be integrated in the Unity Software or Your Project Content incorporating the Unity Runtime (an “SDK Integration”) to install or execute the Unity Runtime on the cloud or a remote server, unless such use of the Managed Service or SDK Integration has been specifically authorized by Unity. Additionally, you may not integrate the Unity Runtime with a Managed Service or SDK Integration and offer that integration to third parties for the purpose of installing or using the Unity Runtime on the cloud or a remote server. For a list of Unity authorized streaming platforms, Managed Services and SDK Integrations, click here. This restriction does not prevent end users from remotely accessing your Project Content from an end user device that is running on another end user device. You may not use a third party to directly or indirectly distribute or make available, stream, broadcast (through simulation or otherwise) any portion of the Unity Software unless that third party is authorized by Unity to provide such services.
Improbable alleges that any cloud-based multiplayer or streaming platform might be considered in breach if not specifically authorized by Unity. According to the blog post, the company reached out to Unity immediately and there was no contact between the two up until January 9 when Unity revoked Improbable’s licenses.
“A Unity account manager spoke with a customer using SpatialOS and explained that Improbable was no longer permitted to use Unity,” the company writes. “The customer contacted us to express their concern. Shortly after this, we received a helpdesk notification that our licenses were unusable due to a breach of the terms of service, but without specific details. Bear in mind that our licenses are essential for us to support and operate games. At this point, we reached out to our day-to-day contacts at Unity. They confirmed that Unity was asserting we were in breach and our license was unusable (i.e. our service must stop).”
Improbable’s understanding was that SpatialOS was in breach, and because it is actively in use by customers, those users would also be in breach. Improbable made the decision to alert customers, because the company believed it might be held liable for downtime and lost revenues and that SpatialOS going offline would have an immediate and drastic impact on a number of games.
Despite Unity’s decision to grandfather active games already using SpatialOS, there is still a problem even for those developers. Improbable says it cannot fix bugs or update the middleware, and it has not had contact with Unity. That could have long-term impact on those titles, even if there is no short-term emergency.
In the meantime, Epic Games is waiting in the wings with $25 million to help developers transition from Unity to Unreal Engine. As for Unity, it is being painted as being unfriendly to developers. The truth is likely somewhere in the middle, as this complicated and strange story continues to unfold.
We've reached out to Unity to comment on this complex story, but did not receive a reply before publication. We'll update the story if you receive a response.
For more stories like this one delivered straight to your inbox, please subscribe to the GameDailyBiz Digest!/* =$comments; */?>