Updates to our Terms of Service and New Package Guidelines

Hi everybody,

We wanted to let you know that we are updating our Terms of Service, effective December 4, 2020, to introduce the Unity Package Guidelines for packages made available within the Unity Editor.

Why are we doing this now?

We have seen a growing number of third parties, including vendors, misusing packages to mass distribute their products and services from within the Unity Editor without necessary quality controls. Unchecked, this will potentially compromise the Unity ecosystem with products or services that capture data without appropriate controls, inject unwanted functionality in users’ projects, or that will misrepresent themselves as being Unity built, sanctioned or supported. This circumvents the protections provided to Unity and our users via the authorized channels (e.g., the Unity Asset Store, Verified Solutions Partners) and the various agreements that govern use of Unity products and services.

With these new Package Guidelines and the Terms of Service update, it is our intent to provide more transparency and trust around what is provided within the Unity Editor.

We want to give you insights into the principles we used to drive the Package Guidelines.

Our principles

  • Open. We believe Unity users should be free to choose the products and services they want, including ones that are competitive to those offered by Unity. Unity users can also distribute their own or third party packages to their direct and indirect teams, provided the packages comply with the new Package Guidelines. Third parties (including vendors of products or services competitive to Unity’s) can, and very often do, use Unity’s Asset Store to distribute to Unity users. Additionally, these third parties can make their packages available via their own channels (e.g. website, GitHub, etc.).

  • Fair. We work hard to bring you best-in-class products and this requires investment. Having third party vendors circumvent our authorized channels and business models, such as the Unity Asset Store and programs such as Verified Solutions Partners, compromises our ability to re-invest in our products and services to serve you.

  • Safe. We will protect our community from being misled by unauthorized vendors who are using the editor as a marketing channel. This potentially compromises the Unity ecosystem with products and services that may be harmful, capture data without appropriate controls or misrepresent themselves as being Unity built, sanctioned or supported.

You can see the updated Terms of Service and the new Package Guidelines. All package creators using the Unity Editor as a distribution platform have 30 days to comply with these new guidelines.

If you have any questions or concerns, please contact us at terms@unity3d.com.

7 Likes

Hi @LeonhardP ,

Favo from the OpenUPM. Thanks for posting the renewed TOS and the new Package Guidelines. As the largest open-source UPM distribution platform, we would like to help protect Unity’s interests as well as our community’s benefits.

The TOS and the new Package Guidelines changes are important for everyone who contributes to the package economics, even you just want to contribute to the open-source community like us, you should read them carefully. These terms will draw a clear line about what is allowed and what is banned.

I’m working with other Unity employees to help me understand and clarify the TOS and the Guidelines. My goal is to make sure that our users can continue to use the OpenUPM and related tools under these rules without confusion. And help the community (mostly the package authors) to be ready for the changes. As said in the announcement, we have 30 days to process these. Details will be posted later.

I certainly appreciated Unity for creating such a great platform. On the other side, I and the community together have contributed thousands of hours to make the UPM economics system better, to enhance Unity as a better platform. I hope in the end, we are all happy about the result.

Stay safe, stay tuned.

BR
Favo

13 Likes

@

If you force asset store usage through legal terms, that is going to backfire.

Make asset store as technically comfortable to use as the package system, and you will have a fair competition.

Just a friendly reminder.

6 Likes

I second that. Asset Store is great but I try to avoid it at all costs… unless there is a package version of the assets. Not being able to distinguish my own assets from 3rd party and how it messes up the project structure, difficulty with updates, and so on really makes the Asset Store pain to use.

8 Likes

Hi @LeonhardP ,

I have some questions to ask. Just want to make sure my understanding is right.

About the conditions that the guidelines don’t apply:

  1. Do I have to follow the guidelines if I host my package on the GitHub and let users install via git?

  2. Do I have to follow the guidelines if I setup my registry (e.g. Verdaccio) and instruct users to install packages through my scoped registries?

Regarding to the guidelines:

A.

  1. Can I create a premium package that only my subscribers can use it on commercial titles?

  2. Can I create a package that enable certain IAP service in the user’s game?

B.

  1. Can I create a package that enable Google Analytics in the user’s game?

D.

  1. Can I create a package that change the rendering settings in the project settings by clicking a button?

  2. Can I create a package that add a scoped registry into their project by clicking a button?

  3. Can I create a package that add other optional package dependencies to enable more features in this package by clicking a button?

  4. Can I create a package that automatically add define symbols programmatically to the project in order to avoid compile errors?

Thanks!

Best,
Naga

4 Likes

Hi, I have some questions. I realize that they might sound a bit silly, but I’d really appreciate some answers. I’d rather be safe than sorry. Thanks in advance for your time.

Could you clarify what does it mean to “directly or indirectly leverage the Unity Editor as a marketing or distribution platform”? Does it include public GitHub packages that support using the Package Manager to download instead of users manually downloading and putting the package in their project?

Does it mean that an UPM compatible package in GitHub that adds runtime support for an analytics API like those from Google or Steam is prohibited?

Also, what does a “Package that induces a person to buy or subscribe to products or services” entail? Does it include, for example, a package that adds support for an external service with a paid tier, even if said service is not advertised? Does it it include a GitHub package that needs a paid plugin to work, even if that plugin is not advertised in the editor?

Some answers in these regards would bring me some peace of mind, one way or another. Thanks again for taking the time to read this, I honestly appreciate it.

4 Likes

I have a question regarding one of my packages: Package Updater | dev.bullrich.package-updater | Unity Package (UPM) | OpenUPM

This package breaks one the following guideline:

What the package does is it brings a UI to update all the packages at once. Is my UI not an oficial Unity Editor UI? Am I breaking the law by using Unity’s API for package updating? Will I receive a Notice and Takedown request?

3 Likes

I think as the user need to click on a button inside the Unity Editor and it is very explicit about what it does, it seems to fit the guidelines.

It’s pretty explicit:

"
The Package Guidelines apply to you anytime you directly or indirectly leverage the Unity Editor as a marketing or distribution platform for Packages, other than via the Unity Authorized Channels (governed by their own terms and guidelines).

Some examples of when the Package Guidelines don’t apply:

  • These Package Guidelines do not apply to you when you host Packages on GitHub for Unity users to download and put the Packages in their projects, as long as the hosted Package does not, directly or indirectly, leverage the Unity Editor as a marketing or distribution platform.

  • These Package Guidelines do not apply to you when you host Packages on your own website for Unity users to download and put the Packages in their projects, as long as the hosted Package does not, directly or indirectly, leverage the Unity Editor as a marketing or distribution platform.

  • These Package Guidelines do not apply to you when you distribute Packages via the Unity Asset Store, in which case the Asset Store Terms and Asset Store Submission Guidelines apply, as long as the Package does not, directly or indirectly, leverage the Unity Editor as a marketing or distribution platform. "

So, actual examples of when this applies would be stuff like

  • making an in-editor asset store competitor
  • making an in-editor UPM browser
1 Like

A quick update for the OpenUPM and the Unity new terms.
Apparently, the discussion/negotiation needs more time to make sure the process smoother. OpenUPM and Unity signed a document that brings us three more months on the table. It grants OpenUPM owned, controlled, or hosted
packages, a total of three months through February 4, 2021, to comply with the Package Guidelines.
I will keep you posted when we have more progression. Stay tuned.

4 Likes

Or else what?

I don’t get it. How is this even enforceable? What’s going to stop someone from hosting their own packages on GitHub or wherever, even if they reject/ignore the guidelines and use the editor for marketing or advertising? What authority does Unity have over anyone else’s git repository?

I guess that’s why they’re called guidelines rather than rules?

6 Likes

I’d love to get some clarity on a few things, considering a new Package Management tool we’re developing for our platform:

  • Can a custom Editor Window Add, Remove and Update packages via scripting if they’re explicit about their actions and Initiated by the user? For example, we want to allow a user to download our newest SDK from a button press, and add it to their project with another press. We’re currently doing this via UnityEditor.PackageManager.Client.Add(localPath) after downloading, but this could be in violation of Guidelines under part D3: “You add, update or modify installed Packages on behalf of the user outside the official Unity Editor UI, such as programmatically through scripts.”
  • Can we allow browsing of available packages if they’re all free? Creators make free things that we’d like to make available to other creators via a searchable listing, but this could be in violation of Guidelines under part C1: "You cannot create a…platform to…distribute your Packages… to third parties (other than your Designated Users) from within the Unity Editor (shortened with ellipses to highlight our use case). Are “Designated Users” our creators who are working with our SDK or only people within our organization?

I appreciate any guidance you can give.

4 Likes

Hi everybody,

Some answers to your questions:

The Package Guidelines do not apply to you when you host a package on GitHub for Unity users to download and manually add the package in their projects, as long as the hosted package does not, directly or indirectly, leverage the Unity Editor as a marketing or distribution platform.

The Package Guidelines do not apply to you unless you distribute your package from within the Unity Editor to others outside of your designated users.

Yes, provided you do not use the Unity Editor as a marketing or distribution platform for this type of package.

Yes, provided you do not use the Unity Editor as a marketing or distribution platform for this type of package.

Yes, provided you do not use the Unity Editor as a marketing or distribution platform for this type of package.

You cannot harm or mislead users. A package can change the rendering setting if it’s clear for the user (package description and opt-in UI flow).

No. If the package is intended for external distribution beyond your designated users, this use case does not comply with the Terms of Service.

No. If the package is intended for external distribution beyond your designated users, this use case does not comply with the Terms of Service.

You cannot harm or mislead users. A package can define additional symbols if it’s clear for the user (package description and opt-in UI flow).

It means that you distribute or enable discovery of packages from within the Unity Editor. For example, by exposing a new storefront in the Editor or sharing a scoped registry with other users to distribute your commercial packages.

Yes, it could be argued that both of these packages induce a person to buy or subscribe to products or services. Note, however, that they are only prohibited under the Package Guidelines if they are made available from within the Unity Editor.

3 Likes

Hi @LeonhardP , the reply seems conflicted?

4 Likes

Thanks for the responses @LeonhardP .

Here are some more:

Could you please clarify the following:

  • Can I create a package that add a scoped registry into their project by clicking a button if I distribute that package via the AssetStore?
  • Can I create a package that add other optional package dependencies to enable more features in this package by clicking a button if I distribute that package via the AssetStore?
  • Can I create a package that add a scoped registry into their project by clicking a button if I distribute that package via GitHub URL?
  • Can I create a package that add other optional package dependencies to enable more features in this package by clicking a button if I distribute that package via GitHub URL?

To be clear, the question here is “does it count as a distribution platform if I allow users to add content or packages to their project by clicking a button from within a tool I submit to the AssetStore”.
I’m not sure if Unity understands the implications of disallowing that; a lot of things on the AssetStore do that right now, especially the super successful ones (PlayMaker Ecosystem?).

2 Likes

Thanks for spotting that mistake, I’ve fixed it. The first answer is correct. Yes, provided you do not use the Unity Editor as a marketing or distribution platform for this type of package.

2 Likes

Thanks so much for the clarifications. Sorry to bother you again: Am I correct in understanding that a GitHub repository that has a package json file so that users can add it by manually pasting the repository’s URL in the package manager, without a scoped registry, is not considered to “leverage the Unity Editor as a marketing or distribution platform”.

For a concrete example, would an open source package in GitHub that adds support for analytics in Steam be blocked from being downloaded with the git url through the package manager?

Thanks again for your time; it’s really appreciated.

Some more answers to your questions:

A designated user is someone who is affiliated with your entity or a third party contractor who is testing, developing, or operating your project on your behalf. If you use the Unity Editor as a marketing platform for other packages, even if they’re free, then the Package Guidelines apply. You cannot create a store to advertise, distribute, or promote your packages even if they are free.

If you’re distributing the package via the Asset Store and it does not directly or indirectly leverage the Unity Editor as a marketing or distribution platform, then only the Asset Store Terms and guidelines apply. If it does directly or indirectly leverage the Unity Editor as a marketing or distribution platform, then the Package Guidelines apply. Discovery of software and assets and legal/commercial transactions must always be done outside of the Unity Editor such as on your website or through the Unity Asset Store.

This kills:

  • PlayMaker (because of the integrated PlayMaker Ecosystem)
  • Substance in Unity (because of the integrated store)
  • Sketchfab for Unity (because of access to sketchfab assets)
  • Odin (because of references to their non-AssetStore version)
  • any asset that has a free version on the AssetStore and tells you that there’s a paid version from within the Editor
  • and hundreds of very successful assets more.

Have you reached out to these teams and told them their time on the AssetStore is over?

What about modular assets that explain in-Editor that you can get more modules on the AssetStore? E.g. MicroSplat?

8 Likes

Playmaker does not use it for marketing, only to provide extentions to playmaker.

I think that will be safe?