Skip to content

License Manager

Manage license and copyright for third party graphics, software or libraries. Group them into categories, add descriptions or web links.

You will find the License Manager under Project -> Tools -> Licenses....

The data is stored inside a json file. This file is automatically added to the export, you do not need to add it yourself. If you provide license files instead of a text, they are also exported.

If paths are added to license data, it will be automatically adjusted if you rename a file or folder inside the editor.

You can change the project license file either with a button at the upper right, in the license menu. Or inside the project settings under the menu Plugins -> Licenses.

Compatibility

Godot Version
4.3 >= 1.8.0
4.2 1.6.0 - 1.7.8
4.1 <= 1.5.0

Screenshot

license manager screenshot

Example

/examples/licenses/

Interface

Licenses

res://addons/licenses/licenses.gd

Providing static utility and static functions to save and load licenses.

Methods

bool compare_components_ascending ( Component lhs, Component rhs ) static
Compare components ascending.
Component get_engine_component ( String name ) static
Get engine component by name.
Array[Component] get_engine_components () static
Get all engine components.
Array[Component] get_required_engine_components () static
Get engine components which are marked as required to mention.
int save ( Array[Component] components, String file_path ) -> static
Save array of components to file.
LoadResult load ( String file_path ) static
Load licenses from file.
void set_license_data_filepath ( String path ) static
Set the project license data path.
String get_license_data_filepath () static
Returns the project license data path.

Licenses.LoadResult

extendsRefCounted

res://addons/licenses/licenses.gd

Loading result returned when loading a licenses file.

Properties

Name Type Description
components Array[Component] Components.
err_msg String Error message when loading failed.

Component

extendsRefCounted

res://addons/licenses/component.gd

Component class, data wrapper for all information regarding one license item.

Properties

Name Type Description
id String Identifier.
category String Use to structure the licenses to top categories. E.g. Textures, Fonts, ...
name String Name of the software or component.
version String Version of the software or component.
copyright PackedStringArray Copyrights.
contact String Contact of developer.
description String Additional description.
web String Web url to project page.
paths PackedStringArray Path to affected files or directories.
licenses Array[License] Licenses.

Methods

PackedStringArray get_warnings () const
Get warnings regarding this component, e.g. missing license.
Dictionary serialize () const
Serialize to dictionary.
Component deserialize ( Dictionary data )
Load values from dictionary.
Component duplicate () const
Returns a duplicate of itself.

Component.License

extendsRefCounted

res://addons/licenses/licenses.gd

License class.

Properties

Name Type Description
name String Full name.
identifier String Shortcode for this license.
text String License text.
file String License file. Will load the license text from this file automatically if text is empty.
web String Web present of the license.

Methods

String get_license_text () const
Either returns the license text or loads the text from file or a message that the text could not be loaded.
String serialize () const
Serialize to dictionary.
License deserialize ( Dictionary data )
Load values from dictionary.
License duplicate () const
Returns a duplicate of itself.

Changelog

1.8.1

  • Fix crash when running a project exported in release mode

1.8.0

  • Require Godot 4.3
  • Make use of @export for custom Nodes

1.7.8

  • Detect movement of licenses json file

1.7.7

  • Use absolute paths in preloads

1.7.6

  • Fix scene id
  • Code improvement

1.7.5

  • Fix license file existing check

1.7.4

  • Fix show engine component

1.7.3

  • Fix component selection and right click menu

1.7.2

  • Fix current selection of component on popup
  • Change drag and drop behavior

1.7.1

  • Add adjusting filepath of license files on moving
  • Add more warnings
  • Fix reloading UI if something was changed on moving

1.7.0

  • Add renaming of paths when a file or folder gets renamed inside the editor
  • Add right click menu to duplicate or delete items

1.6.1

  • Workaround show engine components, calling static function is bugged

1.6.0

  • Require Godot 4.2
  • Add more values to plugin.cfg
  • Add static typing in for loops
  • Use static sorting function as lambda

1.5.0

  • Removed overriden engine methods
  • Creating a plugin component will now add the plugin path to paths
  • Fix dragging/ double click crash
  • Fix overriding project license file if another license file is loaded
  • Add warning tooltip if a component paths does not exist