Plugin converter

2 favourites
From the Asset Store
HSV RGB Color Picker and Converter for Construct 3
  • WARNING: this is not meant for casual users. Really, only SDK writers should use this as there is no guarantee it is complete, and if you install a plugin that has any kind of syntax error, you have to wipe the Application cache and/or the Browser cache! This means you loose any projects you've saved in local storage!

    Note: the converter can only convert to the C2 runtime. Automated conversion to the C3 runtime is not possible - the engine is considerably different from C2. v1.0.1 has an option to stub for the C3runtime though!


    inputDirectory outputDirectory

    Processes a single plugin and outputs it to output-directory

    inputDirectory outputDirectory "pluginCategory"

    Processes a single plugin and outputs it to output-directory. Sets the plugin category in plugin.js to the specified value. Must be one of the values specified in the SDK manual.



    This lets you point the tool to one top level directory and it will process all plugins in that directory. (ie: C2/../plugins) Outputs to the output-directory.

    Ex: -masterblaster inputDirectory outputDirectory


    Skips Scirra plugins. Good to try third-party plugins in your plugin directory.

    Ex: -noScirra -masterblaster inputDirectory outputDirectory


    Converts an effect.


    This will create fake placeholders (stubs) for C3 so that projects can be opened/switched to the C3runtime.

    Ex: inputDirectory outputDirectory -c3stub


    Skips the test for a blank common.js file.

    No code is migrated, only the properties and ACE definitions. Language mappings are all uniquely identified. No extra (.js) files are added.

    Use the Visual Studio editor to check all JSON files. It points out errors before you upload them.


    C2C3AddonConverter.exe -noscirra -masterblaster "C:\Program Files\Construct 2\exporters\html5\plugins" "C:\C3pluginStagingArea\C3conversions"

    C2C3AddonConverter.exe "C:\C3pluginStagingArea\C2originals\bht_smart_random" "C:\C3pluginStagingArea\AutoGen\C3_bht_smart_random" "data-and-storage"


    Requires: .NET 4.5


    *Supports new minify mechanism (as of r206)

    *Removes ( and ) from property IDs.

    *PW: scirra


    *Fixed C3 stub class name generation to use ID.

    *PW: scirra


    *New flag: -c3stub

    **This will create fake placeholders (stubs) for C3 so that projects can be opened/switched to the C3runtime. The intent is NOT to support the C3runtime, but to allow you to do the switch so you can systematically replace any plugin functionality from the C2 engine to the new C3 replacements: ie: tweening (although someone already did the LiteTween conversion), or Paster, which is unlikely to be converted, but has been replaced by the official Canvas plugin.


    *AddCommonAngleACEs was missing.

    *SetIsRotatable was always false.

    *external-css type set for CSS dependencies.

    *plugin-description can now handle commas in the description.


    *Further fixes for effect ID.


    *Small fix to ensure IDs are unique.

    *add -effect to command line to convert effects - not 100% yet.


    *Drawing plugins now supported.

    *It is not possible to migrate any edittime code, so the original author must still do any migration manually. The base methods are included, but only Draw() will have default object drawing code, so the plugin shows something to the user. Other changes may be required to the runtime, due to changes in the C3 drawing mechanism.


    *Fixed duplicate variadic placeholder - {...} - bug.

    *Fails if AddFunctionNameParam() detected.


    *Added missing variadic placeholder - {...}, if needed.


    *Dependencies added.


    *Added file-list developer data.

    *Anything with dependencies, common.js code, or unsupported flags will no longer generate any output. This should make it clear that the conversion didn't work.


    *Fixed combo-param corruption.

    *Support all 'deprecated' flags.

    *(allow for wrong syntax of ef_none instead of cf_none)


    *Fixed bad Expression 'translated-name'.

    *Convert <i> & <b> to new format.

    *Fixed bad property conversion.


    *Behaviors added!

    *Now enforces placeholder rules. C3 enforces a 1:1 rule on parameters and placeholders in the DisplayString. I now add any missing ones, and remove any extras. Not ideal, but better than nothing.

    *Now allows deprecated ACEs. Display text is marked as DEPRECATED. Not ideal, but better than nothing.

    *Null Versions are dealt with.

    Still need to deal with code in common.js, and dependencies, but these can be hand edited if needed.


    *'Categories' supported.

    *Cleanup - won't create any directory for skipped plugins (-noScirra)


    *Single-quotes are valid when encasing double-quotes.

    *'text' properties must have a 'text' initial-value. C2 didn't enforce this.

    *Decode, but warn of dependencies.

  • Keep up good progress!

  • Thank you!

  • [Moved to OP]

  • I wonder how long till we get the rest of the sdk.

    If it has to wait on the C3 runtime, then there will be some issues.

  • v1.0.0.2 available.

  • Highly recommend this for all those c2 plugins to move their way over to c3. Hopefully those 3d plugins will come on over if not better ones be made.

  • v1.0.0.3 available.

  • Please keep developing!

    My projects have many plugins! This accessory will be very useful to me. Thanks

  • Thanks for working on this, it's very handy for SDK users!

  • I'm 95% done with support for Behaviors. I need feedback from Scirra regarding an issue I found.

  • v1.0.0.4 available.

  • i dont understand

    how to use it

    when i click c2c3addonconverter.exe its only show a black window for few seconds and then closed..

    can u make a simple tutorial for common peolpe?

  • hndradaniel

    The instructions are all in the original post, along with strong warnings that 'common' people should not really be using this. There is no guarantee that it will work, and can cause you to wipe your cache if anything goes wrong, possibly wiping out any games saved to local storage. It is meant to help plugin developers to get 90% of the grunt work done, speeding up conversion.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • [Bug report]


    Field "translated-name" of expression in en-US.json will have {0}, {1}, {2} like "Date2UnixTimestamp {0} {1} {2}". (Expression "Date2UnixTimestamp" of C2 plugin has 3 parameters)

    But the field "translated-name" might not have {0}, {1}, {2} (document). Only field "display-text" will embed parameters {0}, {1}, {2},..


    Converted parameters in field "display-text" is <i>{0}</i>, but it should be [ i]{0}[ /i] ( bbcode )

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)