Scirra cog

About Us

We're a London based startup that develops Construct 2, software that lets you make your own computer games!

Archives

Browse all our blog posts

Latest Blog Entries

We love brains!

Join us! Joiiinnn ussss! Mooooree brains!

Addons in Construct 3

by Ashley | 27th, February 2017

Since Construct 3 runs in the browser, you may be wondering how addons (like third-party plugins, behaviors and effects) are handled. Fear not! You can still install and use addons in Construct 3 in the browser. Let's look at how that works.

The Addon Manager

First of all Construct 3 has a brand-new Addon Manager. This lists all the addons available to the editor — both built-in and installed. It also provides a single central place to install new addons and uninstall existing ones. This makes it a lot easier to review and manage your addons!

Construct 3's Addon Manager

You can also re-download the original .c3addon files for installed addons from this dialog, so you can more easily move your addons to a new device.

Installing new addons

Note the Install new addon button in the previous picture. This button opens a file picker that lets you choose a .c3addon file. If you approve the prompt to install the addon, it's then saved to browser storage. It's stored locally and for the specific browser, so it's only available on that device with the same browser. However this means you can continue to work with that addon continuously available.

Being browser-based, it's particularly easy to use Construct 3 on a range of devices, including on mobile. If you use a lot of addons, it could be inconvenient to have to keep re-installing them on every device you use, especially if you are only using a device temporarily. So to solve this, we built a new feature.

Project-bundled addons

Construct 3 projects can now opt to bundle addons with the project. This means when you save your project, the .c3addon files are included with the rest of the project files. Then when you open the project, the addons are loaded from the project. Then you can open the project anywhere, regardless of whether the addons have been previously installed.

The option in Construct 3 to bundle addons with the project.

This allows you to log in to a completely new device and load your project without any fuss. It completely avoids the "missing addons" error message that could come up in Construct 2.

This also works particularly well with Cloud Save. You can bundle your addons in your project and save it to a service like Dropbox. Then all you need to do to be able to open it on a new device is log in to Construct 3, and open the project from Dropbox. There is no need to worry about getting ahold of the same set of addons.

Only additional addons installed to the editor are bundled — the built-in addons are not included, because you can always count on those being available.

Bundled addon versions

Even if the editor already has one of the addons installed, it still temporarily installs the addon from the project and uses that. This helps improve predictability in case the editor has a different version of the addon bundled with the project. In other words it always uses the version bundled with the project, rather than the version installed to the editor, which could be different.

For some plugins this is also useful for predictably matching versions. For example we still distribute the Greenworks plugin for Steam integration as an external addon, because you need to match it to specific NW.js and Steamworks SDK versions. This feature allows you to bundle a specific Greenworks addon version with your project, and then that project will permanently use that version, even if you update the version in the editor or use different versions in other projects.

However we anticipate sometimes you will intentionally want to update a bundled addon, perhaps to take advantage of bug fixes, new features, or other improvements. This can be done from the View used addons dialog (which we saw previously). If the editor has a newer version of a bundled addon installed, it provides an option to update the bundled addon.

Updating a project-bundled addon in Construct 3.

This allows you to precisely control which addon version is used with your project, and when it is updated.

For addon developers

Construct 3's addon format is generally similar to Construct 2's. However third-party plugins and behaviors will need to have their editor script (edittime.js) rewritten in to a new format for Construct 3. This basically involves rewriting the action, condition and expression (ACE) tables in to a new format, and moving UI strings to a separate language file to facilitate translation. However the runtime script (runtime.js) should continue work unmodified. There are a small number of runtime features that have changed in Construct 3, but these are usually trivial to update. We'll provide documentation and assistance on the forum around this. We're aiming to have initial documentation on addons ready as early on during the public beta as possible so addon developers can get a head start on porting. Overall it ought to be a quick job to port Construct 2 plugins to Construct 3.

We're aware some third-party developers sell their addons and might not want them bundled with projects. We will provide a way for addons to opt-out of bundling so they stay in the editor only.

Future plans

While we think this is a significant step in making it easier to manage addons in Construct 3, we do want to go further. Getting Construct 3 ready has been a huge project and it's simply not been possible to do everything we wanted by launch time. (In particular preparing the SDKs generally requires that most of the editor is done and ready to integrate with.) We didn't want to make you wait any longer for launch, so here are some of our future plans that may come a little later down the line.

  • We want to host an online central directory of addons for Construct 3, to make it easy to find and install addons.
  • We think it will be useful to associate addons with your Construct 3 account, and then automatically install them from the addon directory if you log in to a new device.
  • We are planning to allow editor plugins, so new editor features can also be written as an addon. We intend for this to be able to cover entirely new editing windows in the UI, similar to the new Array Editor, but built from the SDK.
  • It is possible we could design a compatibility layer to directly load unmodified Construct 2 addons, but this is quite complicated and may be limited in some ways. We're not sure if we'll do this at the moment, but if several important C2 addons are not being ported, we'll look in to it further.

Still, we believe using third-party addons in Construct 3 will be a much smoother experience than it was with Construct 2, with the new Addon Manager and project-bundled addons helping make your life easier.

Catch-up

Missed our earlier announcements? Here's a list of all the news about Construct 3 so far:

Promotional footer image for Construct 3
Now follow us and share this

Tags:

Comments

4
XpMonster 14.2k rep

Wow, it's great!

Monday, February 27, 2017 at 1:17:34 PM
2
BlackScorpion786 843 rep

Purely Amazing

Monday, February 27, 2017 at 1:18:05 PM
2
Havok 3,836 rep

Hmmmmm....very cool.

Monday, February 27, 2017 at 1:21:04 PM
5
SPX 2,596 rep

If you woud consider SCORM export, that would be simply fantastic! !!

Monday, February 27, 2017 at 1:22:16 PM
2
uboel 9,420 rep

Nice features!

Monday, February 27, 2017 at 1:22:58 PM
11
TheRealDannyyy 38.9k rep

Nice update, I was predicting that we would get something like an "addon manager" using Construct 3.

I just have a quick question regarding the porting over of C2 plugins/behaviors into C3. Is Scirra aware that a lot of the amazing C2 plugins/behaviors are unmaintained for various reasons?
What I'm trying to say with this is that the JS Dev's behind those plugins/behaviors (finished or not), left the C2 community and as a result cannot provide the ported version of their plugins.

I personally only see two ways to handle this problem:
1. Let Scirra re-create all the popular and semi-popular 3rd party plugins/behaviors by themselves. (Basically making them official.)
2. Allow dedicated JS Dev's to take over the unmaintained plugins/behaviors and provide support for them. (This is very unlikely to happen because of copyright laws.)

This is very important and I'm sure that a lot of us C2/C3 users and JS Dev's would be interested in Scirra's approach regarding this issue.

Monday, February 27, 2017 at 1:42:28 PM
5
lucid 16.8k rep

Ha. Good stuff. I had a feeling an announcement like this was coming after my question about the edittime stuff wasn't answered in the previous post wasn't answered.

Another question though. Will it still be called edtittime.js? Just thinking it might be convenient to be able to maintain and upload single rar file that contains the c2 and c3 versions of a plugin together.

Monday, February 27, 2017 at 1:59:04 PM
4
Ashley 186.1k rep

@lucid - yeah, I was thinking of that ;) the new SDK breaks things up in to different files, and there are some other changes to .c3addon files, so don't think you'll be able to do a two-in-one.

Monday, February 27, 2017 at 2:06:53 PM
4
Savvy001 13.3k rep

It is all stacking up to be a great new development environment.
I have always loved developing in C2, and i will continue that love in C3.
The ability for editor plugins is AMAZING!
That by itself opens up a whole level of expanding our workflow community driven.

Also i hope scirra would consider making their own game"store".
With rating based featured games etc.
C3's options with the whole develop on almost any device just screams potential.
Building the game directly on my phone, i mean how close to the final project can you get right!
Things that where normal for pc now becoming the new standard for any device is magical, and give's so much simplicity.

Props to scirra for seeing the future before we do.

Monday, February 27, 2017 at 2:10:41 PM
2
Laughing14 2,365 rep

Great as usual!

Monday, February 27, 2017 at 2:29:37 PM
22
rexrainbow 123.1k rep

Great! I will port my plugins to c3, and they will be free as usually.

By the way, @Ashley , can c3 import/marge template/sub system into user's project?
A plugin is a function, template is a sub system which composed of some plugins and events for application specific. A project is composed of some sub-systems.

Monday, February 27, 2017 at 2:31:49 PM
2
Lucca P 255 rep

Uou this is great!!!!! awesome!!

Monday, February 27, 2017 at 2:43:16 PM
2
KENYONB 1,970 rep

I hope all the plugin devs port their C2 plugins!

Monday, February 27, 2017 at 2:58:55 PM
8
sagispin 4,860 rep

@rexrainbow
80% of my third party add-ons are created by you.
your comment could be an "announcement" by it self.

Monday, February 27, 2017 at 3:01:19 PM
4
KENYONB 1,970 rep

Yes! Thanks @rexrainbow 👍

Monday, February 27, 2017 at 3:06:45 PM

Leave a comment

Everyone is welcome to leave their thoughts! Register a new account or login.