**This is an old revision of the document!**

Extending GDevelop (with JavaScript or C++)

GDevelop is modular. It can be extended to suit your needs. In particular, all the features available for the games (objects, behaviors, and events) are based on a extension system. Since GDevelop is open-source, you can contribute to the existing extensions or you can create new ones. You can also take a look at the game engine or the editor source code and develop improvements.

➡️ If you are looking for event based functions, see functions. For event based behaviors see new behaviors using events.

If you have made useful functions and behaviors, consider sharing them with the community.

Extensions for the game engine (JavaScript)

All features provided by the game engine are based on the game engine core (GDJS) and extensions.

➡️If you want to create new objects, new behaviors, or new actions/conditions/expressions, read this page about creating and developing extensions for GDevelop.

You will need Node.js to get started and rudimentary knowledge of JavaScript.

Improve the editor (JavaScript, C++)

The editor is based on JavaScript too, and you can easily modify and improve it.

➡️Read this page to start working on the editor.

You will need Node.js to get started and knowledge of JavaScript. It's also a good idea to read tutorials about React.js - as the whole editor is based on it for modularity and performance.

Creating themes

You can create new themes for GDevelop. Read more about theme creation here.