Addon metadata

Ashley's avatar
Medal
Construct Team Founder
Published 3 Aug, 2017
554 words
~2-4 mins

The metadata for your addon, specifying details like its ID and type, is defined by addon.json. An example is shown below.

{
	"is-c3-addon": true,
	"type": "plugin",
	"name": "My custom plugin",
	"id": "MyCompany_MyAddon",
	"version": "1.0.0.0",
	"author": "Scirra",
	"website": "https://www.construct.net",
	"documentation": "https://www.construct.net",
	"description": "Example custom Construct 3 plugin.",
	"editor-scripts": [
						"plugin.js",
						"type.js",
						"instance.js"
					],
	"file-list": [
		"c2runtime/runtime.js",
		"lang/en-US.json",
		"aces.json",
		"addon.json",
		"icon.svg",
		"instance.js",
		"plugin.js",
		"type.js"
	]
}

Note some of the information is duplicated elsewhere in the addon's files. This is because the editor reads this file before it loads any other files when asking the user if they want to install the addon. Note information specified here, such as the ID, must exactly match everywhere else it is used.

Each field and its possible values are described below.

is-c3-addon

Boolean set to true. This is used by Construct 3 to identify valid addons.

type

One of "plugin", "behavior", "effect" or "theme", indicating the kind of addon this is.

name

The displayed name of the addon, in English.

id

The unique ID of the addon. This is not displayed and is only used internally. This must not be used by any other addon ever published for Construct 3, and must never change after you first publish your addon. (The name is the only visible identifier of the addon in the Construct 3 editor, so that can be changed any time, but the ID must always be the same.) To ensure it is unique, it is recommended to use a vendor-specific prefix, e.g. MyCompany_MyAddon. It must match the ID set in plugin.js.

version

A string specifying the addon version in four parts (major, minor, patch, revision). Be sure to update this when releasing updates to your addon. It must match the version set in plugin.js/behavior.js.

author

A string identifying the author of the addon.

website

A string of a URL to the author's website. It is recommended to provide updates to the addon at this URL if any become available. The website should use HTTPS.

documentation

A string of a URL to the online documentation for the addon. It is important to provide documentation for your addon to be useful to users.

description

A string of a brief description of what the addon does, displayed when prompting the user to install the addon.

editor-scripts

For plugins and behaviors only. An array of script files in the addon package to load in the editor. It is recommended to leave this at the default unless you have large editor dependency scripts, or if you want to minify your addon in to a single script. Note themes do not use editor scripts.

stylesheets

For themes only. An array of CSS files in the addon package to apply to the document. These are the CSS files that define the theme's appearance.

file-list

For developer mode addons only. A list of all files used by the addon. This is required for Developer Mode addons since there is no other mechanism for Construct to determine the list of files when serving files from a web server. Be sure to update this property if you add, rename or remove any files in your addon.

Additional properties for effects

When developing an effect addon, additional information about the effect is included in the addon.json file. For more information see Configuring effects.

All Contributors

  • Ashley's avatar
    Ashley
    Last edited 26 Apr, 2018
    ~5,023 chars in 9 edits
  • Tom's avatar
    Tom
    Last edited 3 Aug, 2017
    ~28 chars in 1 edits