{.section-title.accent.text-primary}
WorkAdventure features can be extended through the use of the scripting API.
This means anyone can write "scripts" that can be imported in any map and that add new properties to WorkAdventure. If you are a developer, do not hesitate to have a look at the scripting API and to create your own custom properties / features.
The WorkAdventure team also provides its own scripts that add various features. We put those features in a common package we call Scripting API Extra.
In this section, you will find a list of these extended features.
Because a script is hosting the extended features, you need to import that script explicitly into your map.
There are 3 ways to import those extended features:
- importing the "Scripting API Extra" library directly in your map
- or importing the "Scripting API Extra" library dynamically from your Javascript script
- or bundling the "Scripting API Extra" library in your own script using NPM and a bundler like Webpack
You can do so by adding a "script" property at the top level of your map, pointing to the URL:
https://unpkg.com/@workadventure/scripting-api-extra@^1/dist/bundle.js
{.alert.alert-info} Reminder: To access the map properties in Tiled, you can click on the Map > Map Properties menu.
If you already have a Javascript script in your map, you can import the scripting API as a module.
{.alert.alert-info} This method is recommended for simple scripts. If you are using a Javascript bundler (like Webpack) to build your Javascript script, have a look at the next section.
To import the "Scripting API Extra" library dynamically from your script, at the top of your JS script, add this line:
import { } from "https://unpkg.com/@workadventure/scripting-api-extra@^1";
If you already have a script in your map and if this script is built using a bundler like Webpack or Rollup (this is the case if you are using the WorkAdventure Map Starter Kit), you can import the "Scripting API Extra" library as a "dependency" of your script.
{.alert.alert-info} Note: The WorkAdventure Map Starter Kit is already importing the Scripting API Extra library as a dependency, so you have nothing to do if you use it for your map.
npm install --save @workadventure/scripting-api-extra
{.alert.alert-warning}
Here, we assume that the script you wrote is using a bundler (like Webpack) and that you already have dependencies in
your project using a package.json
file. If you are not familiar with NPM, or bundlers, we highly recommend using
the WorkAdventure Map Starter Kit that comes
with sane defaults.
Once the "Scripting API Extra" library is imported, you still need to initialize it. This can be done by calling a
single bootstrapExtra()
method:
import { bootstrapExtra } from "@workadventure/scripting-api-extra";
// Calling bootstrapExtra will initiliaze all the "custom properties"
bootstrapExtra();