{"id":25472782,"url":"https://github.com/Scirra/Construct-Addon-SDK","last_synced_at":"2025-11-05T04:30:31.053Z","repository":{"id":195041582,"uuid":"692117957","full_name":"Scirra/Construct-Addon-SDK","owner":"Scirra","description":"Create custom plugins, behaviors, effects and themes for Construct.","archived":false,"fork":false,"pushed_at":"2025-01-31T14:20:41.000Z","size":366,"stargazers_count":14,"open_issues_count":0,"forks_count":8,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-01-31T15:28:59.182Z","etag":null,"topics":["construct","javascript","sdk"],"latest_commit_sha":null,"homepage":"https://www.construct.net/en/make-games/manuals/addon-sdk","language":"JavaScript","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Scirra.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-09-15T15:43:39.000Z","updated_at":"2025-01-31T14:20:45.000Z","dependencies_parsed_at":"2024-05-13T14:59:26.249Z","dependency_job_id":"0617e4a6-459a-472f-a55c-166337c24d85","html_url":"https://github.com/Scirra/Construct-Addon-SDK","commit_stats":null,"previous_names":["scirra/construct-addon-sdk"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Scirra%2FConstruct-Addon-SDK","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Scirra%2FConstruct-Addon-SDK/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Scirra%2FConstruct-Addon-SDK/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Scirra%2FConstruct-Addon-SDK/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Scirra","download_url":"https://codeload.github.com/Scirra/Construct-Addon-SDK/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239449573,"owners_count":19640534,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["construct","javascript","sdk"],"created_at":"2025-02-18T10:02:01.397Z","updated_at":"2025-11-05T04:30:31.008Z","avatar_url":"https://github.com/Scirra.png","language":"JavaScript","readme":"# Construct Addon SDK\nWelcome to the Construct Addon SDK! We host the SDK files on GitHub. Refer to the [Addon SDK manual](https://www.construct.net/make-games/manuals/addon-sdk) for documentation and more details.\n\n## Downloading\n\nClick the green **Code** button and choose **Download ZIP** to get a copy of the SDK files.\n\n## Getting started\n\nRefer to the [Addon SDK manual](https://www.construct.net/make-games/manuals/addon-sdk) to get started!\n\n## JSON Schemas\n\nThe SDK includes [JSON schemas](https://json-schema.org/) for addon metadata (*addon.json*), action/condition/expression definitions (*aces.json*) and language (*en-US.json*) files. With a compatible editor like [VS Code](https://code.visualstudio.com/), this allows validation and autocomplete of these kinds of JSON files, which can make it much easier to write them correctly. If you change the folder structure of the SDK, make sure the special `\"$schema\"` key at the start of the JSON file points to the relevant schema file, e.g. `\"../aces.schema.json\"`.\n\n## TypeScript\n\nThe addon SDK has optional support for [TypeScript](https://www.typescriptlang.org/). See the section on [TypeScript support](https://www.construct.net/en/make-games/manuals/addon-sdk/guide/typescript-support) in the Addon SDK documentation for more details. If you prefer to use JavaScript, just ignore or delete the .ts files in the SDK samples.\n\n## Support\n\nPost to the [Plugin SDK forum](https://www.construct.net/en/forum/construct-3/plugin-sdk-10) for general questions and help. If you think you've run in to a problem with Construct itself, please [file an issue](https://github.com/Scirra/Construct-bugs).\n\n## Contributions\n\nWe are hosting the SDK files on GitHub, but we don't intend to accept contributions to this code. Feel free to start a new repository if you want to provide additional SDK samples or an altered version of the SDK.\n\n# Addon SDK v2\n\nThe addon SDK is currently in the process of being migrated from a legacy SDK (v1) to an updated modern SDK with industry-standard encapsulation (v2). The addon SDK v1 will be retired in mid-2025. New addons should be developed using the Addon SDK v2, and old addons should be ported (see [Porting to Addon SDK v2](https://www.construct.net/en/make-games/manuals/addon-sdk/guide/porting-addon-sdk-v2) for a guide on updating SDK v1 addons). For more details see [this forum thread](https://www.construct.net/en/forum/construct-3/plugin-sdk-10/addon-sdk-v2-182122).\n\n# Samples\n\nThe SDK includes the following samples:\n\n## Plugins\n\n- **customImporterPlugin**: a plugin that calls `AddDragDropFileImportHandler` to import data in a custom format. *customImporterSampleData.zip* contains some sample data in the format the plugin can import.\n- **domElementPlugin**: a plugin that creates and manages a HTML element.\n- **domMessagingPlugin**: a plugin that uses a \"DOM-side\" script to interact with browser APIs that are not typically available in a Web Worker, allowing the features to continue working in Construct's worker mode which hosts all the runtime code in a Web Worker.\n- **drawingPlugin**: a plugin that has an editable image and demonstrates basic code to draw it in the Layout View.\n- **editorTextPlugin**: a plugin that demonstrates rendering text in both the editor and runtime.\n- **singleGlobalPlugin**: demonstrates a basic \"single-global\" plugin, where it can only be added once and provides its features globally, like the Audio plugin. This is usually the best starting point for a plugin that aims to integrate a third-party service.\n- **wrapperExtensionPlugin**: demonstrates a plugin that interacts with a *wrapper extension* - a DLL written in C++ that can provide enhanced platform integration. For more details see the [Wrapper extension guide in the Addon SDK manual](https://www.construct.net/en/make-games/manuals/addon-sdk/guide/wrapper-extensions).\n\n## Behaviors\n\n- **sample-behavior**: an example behavior with template code for writing your own movement logic.\n\n## Effects\n\n- **sample-tint**: provides a sample minimal tint effect in both GLSL for WebGL and WGSL for WebGPU.\n- **sample-webgl2**: demonstrates using different shaders for WebGL 1, WebGL 2, and WebGPU. Each shader outputs a different color to identify which shader is in use.\n\n## Themes\n\n- **sample-theme**: template code for a custom editor theme for Construct.\n","funding_links":[],"categories":["Addon Development","Recently Updated"],"sub_categories":["Construct 3","[Feb 17, 2025](/content/2025/02/17/README.md)"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FScirra%2FConstruct-Addon-SDK","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FScirra%2FConstruct-Addon-SDK","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FScirra%2FConstruct-Addon-SDK/lists"}