Allow the integration of external tools into GDevelop via extensions (like Yarn)

Hello everyone,

While using GDevelop, I noticed something interesting in the editor. Some features use built-in external tools that open in a separate window. For example:

The Yarn-based dialog editor when loading a JSON dialog file.

Some tools related to audio or other systems.

These tools are integrated into the GDevelop ecosystem while being separate from the main editor, which is very convenient.

At the same time, the GDevelop community creates a huge number of external tools to help with development: data generators, visual editors, animation tools, etc.

For example, Pandako created a tool to create animations and export a JSON file that can be used in GDevelop.

The idea

I was wondering if it would be possible to make this system more open, so that developers could:

create external tools
link them directly to a GDevelop extension
and open them from the editor, a bit like Yarn.
In practice, it would be like a tool plugin associated with an extension.
The tool could be used to generate or edit the files used by the extension, for example:

dialog editor
animation editor
data editor
JSON generator

etc.

Concrete example

For my part, I created a Music mapping tool for rhythm games.

This tool generates data that can be used in an extension.
It would be very interesting if I could:

integrate this tool directly into GDevelop
open it from the extension
edit data visually
then save the files used by the extension.

Important conditions

Of course, to be compatible with the spirit of GDevelop:

  • the code should be open source
  • the tools should respect the publisher’s security rules
  • and function as official or community plugins

Why would this be interesting?
This would allow:

  • enormously enrich the ecosystem
  • create specialized tools for certain extensions
  • facilitate the creation of complete work pipelines
  • and give even more power to the extensions.

Question

  • Would this type of system be technically possible in GDevelop?
  • Or is there already a way to integrate this type of tool into the editor?

THANKS !

2 Likes

Just to mention here, what you are describing is already possible.

Yarn was integrated by a contributor, including bundling the editor. They made the dialogue actions and conditions as an engine extension.

You would just need to fork the main repo, add the ui elements and such, and submit a PR to have it merged.

Are you looking for something else?