DEV Community

Kevin Bjorvand
Kevin Bjorvand

Posted on

Automatically Generate Third-Party Notices in Unity

 # Automatically Generate Third-Party Notices in Unity

A simple way to stay compliant when shipping games

If you ship games using Unity, you are almost certainly using third-party software.

This might include:

  • Asset Store packages
  • open-source libraries
  • plugins or SDKs
  • copied utility scripts
  • packages from GitHub

Each of these may come with license requirements.

Many licenses require that you include a Third-Party Notices file or credit the authors somewhere in your build.

The problem is that this step is often overlooked.

Not because developers want to ignore licenses, but because tracking every dependency manually becomes difficult as projects grow.


Why third-party notices matter

Many open-source licenses require attribution.

Common licenses such as MIT, BSD, and Apache typically require that the license text and copyright notice are included when distributing software.

In practice this usually means adding a file such as:

THIRD_PARTY_NOTICES.txt

or including license credits somewhere accessible in your application.

If those notices are missing, your distribution may technically violate the license terms.

For most indie developers this is not intentional. It simply happens because dependencies accumulate over time.


The hidden complexity of Unity projects

Unity projects often pull in dependencies from several sources.

A typical project may include:

  • Asset Store packages
  • UPM packages
  • plugins bundled with assets
  • third-party SDKs
  • custom scripts copied from repositories

Each of these may contain its own licenses.

Because many assets include their dependencies internally, developers may not even realize which libraries are being used.

By the time a game is ready to ship, the project might contain dozens of different licenses.

Trying to manually audit these files can take hours.


A common late-stage problem

Many teams only think about licenses right before release.

At that point the questions start appearing:

  • What open-source libraries are included in this project?
  • Which licenses require attribution?
  • Where should the notices file be generated?
  • Did we miss anything?

Unfortunately this usually happens during the final release phase, when developers are already dealing with builds, store submissions, and bug fixes.

Compliance work becomes another unexpected task at the worst possible moment.


Introducing Third-Party Notices Generator

To simplify this process I built a small Unity editor tool called Third-Party Notices Generator.

The idea is straightforward.

Instead of manually searching through packages and asset folders, the tool scans your project and generates a structured notices file automatically.

This provides a clear overview of third-party licenses used in the project.


How the workflow works

The process is intentionally simple.

You open the tool inside the Unity editor and run a project scan.

The tool looks through project dependencies and identifies license information where available.

It then generates output files that can be included directly in your project.

Typical outputs include files such as:

  • THIRD_PARTY_NOTICES.txt
  • CREDITS.md
  • structured manifests for documentation

These files provide a clear list of dependencies and their associated license information.

Because the files are deterministic, they can also be tracked in version control.


Why automated license tracking helps

Automating license notices has several benefits.

First, it reduces the chance that dependencies will be forgotten during release.

Second, it makes compliance work faster. Instead of manually reading every license file, developers can generate a structured list automatically.

Third, it makes updates easier. When new packages are added to the project, the notices file can simply be regenerated.

This keeps the project documentation accurate over time.


When developers should think about license compliance

License compliance is usually not the most exciting part of development.

But it becomes important when projects reach the stage where they are distributed publicly.

This includes:

  • Steam releases
  • mobile store submissions
  • web builds
  • open-source project distribution

At that point it is useful to have a clear record of which third-party components are included in the project.

Having that information organized early can prevent unnecessary stress close to release.


Final thoughts

Modern game development relies heavily on shared tools, libraries, and open-source software.

That ecosystem allows developers to build games faster than ever before.

But it also means that projects often contain many different licenses.

Keeping track of those dependencies manually can become tedious.

Automating the process with tools like Third-Party Notices Generator makes it easier to stay organized and compliant when shipping games.

Sometimes the most useful tools are the ones that quietly take care of the small but important details behind the scenes.

Top comments (0)