3
\$\begingroup\$

I know you are not allowed to open source a Unity project that contains asset store items that are either paid or under the default license. I am just wondering if there's any way to make my git repository public without getting into trouble.

Would it be possible to compile all third party assets into binary and keep the rest of the project text only? Would this solve the redistribution problem of third party assets while still keeping my own code and assets open source?

I know about just adding a list of required assets, but I'm looking for a better approach: a way to just download the repository, import it and it just works. If this is at all possible please share your solutions.

\$\endgroup\$
1
\$\begingroup\$

I also came to that question and came to a solution to ask for publishing permission from asset owners before I publish the whole project.

I asked one asset owner to publish part of their paid package (a set of icons, but I used only few of them). They allowed me to do so.

\$\endgroup\$
1
\$\begingroup\$

That way you are still distributing the bought assets outside an actual game and quite explictly allowing people to reuse them which will be against most of the asset's licenses.

What you can instead do is find assets under a license where you can redistribute them outside a game, you can inquire with the author/owner of the assets for special permission, or create your own placeholder assets that work and license them out permissively.

\$\endgroup\$
1
\$\begingroup\$

if your package depends on commercial asset or packages or... it cant be a open source project. you can exclude your dependencies and after that, publish you project and give info that this project depends on these packages or dependencies but as people have to pay for those packages, so your project can not considered free or open source.

\$\endgroup\$
  • \$\begingroup\$ This is misleading. Open-source is exactly what it says - open source. If an app or a game depends on a payed hardware and payed OS and payed internet access, one can still open the source code for it and call it accordingly. \$\endgroup\$ – Kromster says support Monica Oct 16 at 5:11
  • \$\begingroup\$ @Kromster you are right but obviously you can sell a code that is being sold elsewhere. your project can be open source if all paid assets are excluded \$\endgroup\$ – virtouso Oct 17 at 10:11
0
\$\begingroup\$

Yes, you can open source your own code and your own assets independently of any third party assets that your project may need or may not need. However, the whole project cannot be made open source that way, only part of it. You cannot include the third party assets that are under a restrictive license.

In order to do that, I would recommend you to just leave them out of the Git repository. Either modify the .gitignore file to exclude the third party assets from the Git but keeping them locally, or put them in a Git submodule, which you do not publish (that would give you the advantage of being able to version them), or do just not add them to the Git repository.

It should be explained somewhere in your project that certain assets are required for the project to run, but are not included in the repository. It's as simple as that.

For binary distributions, it would depend on how you package a Unity app. However, without the third party assets your project will not work right out of the box, unless these assets are made optional. Maybe that could be accomplished easily? Try to make the usage of these assets optional, maybe with some kind of fallback assets if they are not existing. But even without replacements, as long as the building process doesn't fail and the app doesn't crash without the optional assets, this would be a very comfortable solution for others to share and remix your project.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.