-
Notifications
You must be signed in to change notification settings - Fork 1.3k
feat: Add Custom Toolbar Buttons from Project Settings #8166
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Idea to go futher: For example, in Maya 3D, the interface is customizable and Python/Mel scripts can be used to generate elements and interact with the editor. Here is a basic example in Maya. This could help automate the placement of objects on the scene programmatically. And much more! |
|
Thanks for the feedback. This kind of functionality would definitely be useful, but it is clearly out of scope for this PR. Also, as far as I know, GDevelop does not provide such an API, nor access to it via the CLI. The original goal of this work was to add missing GDevelop capabilities directly into the editor, for example building projects via the CLI, and support for custom workflows (such as asset post-processing and running tests). |
|
Hi! My main worry about this is that this would give an attacker the ability to execute arbitrary command if for example a rogue project is shared. Do you think of ways to mitigate this? |
|
Thanks, your mitigations (only allowing npm scripts + explicitly asking user for consent along with the names of the scripts) seem a good compromise. Good idea to also remove support for SVG icons at this stage. |
|
We've fixed formatting (npm run format) and an outdated test. Merging this now! Thanks for contributing this :) |


Summary
Adds support for configurable toolbar buttons in the GDevelop editor that execute npm scripts from the project's package.json in external terminal windows. Buttons are defined in a
gdevelop-settings.yamlfile in the project directory.Features
Configuration
Create
gdevelop-settings.yamlin your project root:See result:

Technical Details
cmd.exe /c start cmd /k <command>osascriptto launch Terminal.appx-terminal-emulator,gnome-terminal,konsole,xtermTesting
gdevelop-settings.yamlin a project directory