A simple tool to find all LICENSE files in Unity project and get a report on all these files.
This is might be very helpful if you need to reveal info about all third-party assets used in your project.
Works with Assets and Packages folders.
- Create
LicenseCollector
asset viaCreate -> License Manager -> Collector
context menu somethere in project - Press button Refresh
- To get runtime report use this code:
[SerializeField]
private LicenseManager.LicenseCollector _collector;
void Start()
{
var report = _collector.GetReport();
foreach (var entry in report)
{
//do something here with each entry
string name = entry.name;
string content = entry.content;
string license = entry.license;
LicenseManager.LicenseRemarks remarks = entry.remarks;
if (remarks.HasFlag(LicenseManager.LicenseRemarks.NonCommercial))
{
Debug.LogWarning($"{name} asset could be used but only in non-commercial projects, because it has {license}");
}
if (remarks.HasFlag(LicenseManager.LicenseRemarks.Viral))
{
Debug.LogError($"{name} asset has viral {license} and probably cannot be placed in this project");
}
}
}
The latest version can be installed via package manager using following git URL:
https://github.com/am1goo/unity-plugin-license-manager.git#0.0.7
LicenseCollector
settings
- Visual report of all collected licenses in project
- Build post-process callback (to get correct report up-to-date)
- More supported licenses (except the most popular ones)
- Unity 2020.3.x
- Unity 2022.3.x
Contribution in any form is very welcome. Bugs, feature requests or feedback can be reported in form of Issues.