Plugin distribution

You should distribute plugins in a way that is easy & unambiguous for the end user to install.

Your plugin is a single .as Angelscript file or a folder containing multiple files. You should distribute plugins always through a .zip file. Follow the instructions below to package your plugin correctly.

Packaging

  1. If your plugin is a single .as file, make sure to put it in a folder, named after the plugin.
  2. If your plugin is a already folder, follow the next step.
  3. Compress the folder. When making the .zip, make sure to compress the top level plugin folder, and not the contents inside it, such that when the user extracts the archive, the folder gets extracted, instead of individual .as files. The end user can then download the .zip file and extract it to the Plugins directory, without making any changes or moving the files.
  4. Distribute the .zip file to the end user by a direct download link.

Common mistakes

  • The most common mistake is linking directly to the GitHub repository. Your repository will often contain additional files and more importantly, will not be structured in a way that is easily installable by the end user. Additionally, the file layout can change in each commit. Instead, make sure that each release, you make a new complete distribution of your plugin using the instructions above. The best way to link to your plugin is to provide a direct download link to the .zip or .as file, and not to the GitHub release page. Release pages contain the additional “source code” .zip files which are confusing for the end user.

  • Distributing your plugins partially. If you made an update to your multi-file plugin and it was just a change in one file, do not send the one file in the Discord channel or elsewhere, but instead make a new release with all the files in a .zip file.