
We are super happy to announce the release of WorkAdventure 1.19, packed with a host of features! π
You can now explore the map by the click of a button. The new explorer view will zoom out and show you the whole map. From there, you can zoom in and out as you want and move the camera freely. There is also a search bar to quickly find any area or any item of the map.
The map editor was also extended to allow you to define descriptions for areas and items. These descriptions will be displayed when you click on an area or an item in the explorer view.
In case you don’t want this feature enabled (maybe your map is an escape game and you don’t want the player to see the whole map?), you can disable this feature using the Scripting API.
A much requested feature!
You can now see the list of all rooms connected to your current world. The notion of “world” is defined from the Admin API. If you do not use an Admin API, the “world” is the list of all maps stored in your map-storage container.
Click the “Open room list” button in the action bar to teleport to any map of your world.
The map-storage API is now available to SAAS users.
This API allows you to create, update, delete, and list maps stored in your world. It is finally possible to create maps dynamically from a remote system.
// TODO: link
The old Outbound API has been removed . This API was already declared deprecated. It was used to delegate the authentication and the routing to maps to a third-party system. It was hard to maintain and was not playing well along the map-storage API.
It has been replaced by the new webhook API (see below)
The new Webhook API allows you to receive events from WorkAdventure in real-time. As of now, only one event is available: the “player-joined” event. This event is triggered when a player joins a map.
You can use this hook to do some checks when a player joins a map, and to modify the player’s data before they enter the map. For instance, it can be used to dynamically edit the tags of a player right before WorkAdventure performs the permission checks.
If you want to deploy a permission system with custom rules, the Webhook API is the way to go.
// TODO: link
You can now customize the mail templates sent by WorkAdventure.
When you send a mail invitation, it was already possible to customize the text of the invitation.
You can now customize the logo and the background color of the mail.
In addition, you can register your own SMTP server to send the mails. This is useful if you want your users to receive a mail from your own domain (instead of a mail originating from WorkAdventure).
//Screenshot
Last but not least, we are proud to announce we are making our admin dashboard self-hostable under a commercial license.
Until now, only the “free” parts of WorkAdventure were self-hostable under a “AGPL + Commons clause” license. If you wanted to use the admin dashboard, you had to use the SAAS version. This is how WorkAdventure (the company) is making money and can continue to develop WorkAdventure.
For some very specific clients however (extremely large companies or government agencies), the SAAS version is not always an option. This is why we are now offering the admin dashboard as a self-hostable product under a commercial license.
Unless you are a very large company or a government agency, we ask you to continue to use the SAAS version. This is the easiest way to use the more up-to-date WorkAdventure.
If you are interested in the self-hostable admin dashboard, please contact us at [email protected].
//TODO link to documentation
You can now directly embed links to your documents stored in Google Drive using a Google Drive picker from the chat and the map editor.
The UI and UX of the map-editor has been improved, to make it more intuitive.
The creation of areas has been improved. When creating an iframe, policies can now be set more intuitively using tags, …
The video overlay that displays the video of the users has been slightly improved. When a screen share is active, the video of the screen share is now slightly bigger, making it easier to read text on the screen share.
In the future, we will completely rework the video overlay (and the design of WorkAdventure) to allow for a complete full-screen experience.
There are many ways to send a message to all users in a map. One of them is the “megaphone” feature. It enables you to speak to everyone on the map directly. The other is to send a “global message”: a text message that will be displayed to everyone on the map. The third one is play an MP3 file to announce something to everyone. Those three features fill the same purpose but were scattered in the UI. We have now grouped them in a single “megaphone” button.
The scripting API gains new features. You can now:
When using variables (whether they are global variables or variables attached to a player) in the Scripting API, the type returned by the variable was not known. By security, the Scripting API would type any variable as unknown. This leads to many type checking errors forcing the user in the best case to use type guards, or in the worst case, to case the variable.
Starting with 1.19, the Scripting API now provides interfaces for the room variables and the player variables. Those interfaces are by default empty. But thanks to interface merging, you can extend those entities in your scripts.
By doing so, you can benefit from IDE autocompletion and type checking in the scripting API without having to resort to casting the results.
A word of caution: Typescript types are removed at compile time. This means that in order to be truly sure of the type of a variable, you still need to do runtime checks (using type guards or specialized libraries like Zod).
Starting with 1.19, the WorkAdventure team officially supports the installation of WorkAdventure using a Helm chart.
The team would like to send special thanks to @klauserber who provided the initial Helm chart that is now part of the main WorkAdventure repository.
Phaser (the game engine used by WorkAdventure) was migrated from 3.60 to 3.80. This migration allowed us to benefit from the new setDirectControl method implemented in 3.70. This method allows to take direct control of the Woka. This fixes a long-standing issue where the Woka would move erratically when the user was controlling it with the mouse cursor on a laggy hardware.
When a user faces Turn connection issues due to a restricted network, a popup is displayed. This popup was always displayed, which could be frustrating for users who cannot do anything about the network setup. Now, a “got-it” checkbox is displayed at the bottom of the popup. This checkbox allows the user to acknowledge the issue and not be notified again.
When a user opened and closed a screen share in a bubble, the other user could not open a screen share anymore. This annoying bug has finally been solved. Thanks @gparant!
We would like to express our special thanks to the CEA (French Alternative Energies and Atomic Energy Commission) for their support in the development of WorkAdventure. A lot of the features developed in this release were funded by the CEA πππ.
If you have special needs that are not yet covered and are interested in funding the development of WorkAdventure, do not hesitate to contact us at [email protected].
Check out the release notes for more details.
So… what’s next for 1.20?
We are working on a lot of things, but we are particularly excited about the following features: