Simplify the process to select an existing Extension


When users want to add an extension, it is common for them to accidentally select “Click to add functions and behaviors.” That screen is only used by developers who want to create a new extension from scratch. 99.9% of the time, users will just want to select an extension that already exists.


  1. On Project Manager, remove the line that says “Search for new Extensions”. The “Click to add functions and behaviors.” should be renamed “Click to add Extensions and Behaviors”, and keep the standard “+” icon.

  2. When the user clicks on “Click to add Extensions and Behaviors”, this will open the tool that is currently called “Search for New Extensions” (should be renamed to “Search for Extensions and Behaviors”)

  3. A new option is added at the bottom of that window, adjacent to “IMPORT EXTENSION”. The new option is called “CREATE EXTENSION” and it will open the existing screen to create a new extension.


Are you drawing a general rule after making a survey, or speaking about your own personal experience as a beginner? :smile:
How many times will you click on “add” before understanding that you need to click on search? Put a sticky note reminder on your monitor, if it can help you. :wink:

Maybe we could phrase differently, like “Open the function/behavior editor”, but adding more steps to access the editor is counterproductive for all the people who make their own extensions, which is about everyone who has some experience with GDevelop.
You will become experienced with time too, and you will like that the editor is easily accessible. :slightly_smiling_face:

When I was a beginner, I ran into this problem, but I quickly realized what’s what.

I agree this is somehow a bit confusing, but I’m not sure how critical the problem is. Both menu items are fairly easy to see. If you click on the first one, you quickly see a new extension being added.
The second one will open the dialog, so both actions are “not destructive”/easy enough to undo if you click the wrong one or just want to discover what these buttons are doing.

For beginners, I would encourage them indeed to search for extensions, but maybe this is something to be done in other parts of the app. For example, you have a tab to search for new behaviors and I was considering adding a button “Search for new actions and conditions” at the bottom of the action/condition editor (so that you have an entry point to the extension search in 3 part of the app: behaviors, actions/conditions and the project manager).

EDIT: Also note that the extension search was redesigned for the next version to be a bit more similar to the “Asset Store”. This should help as the number of extension is growing (the search is more performant, and we can display more tags on the left).

I would say it do is pretty critical, even if it isn’t destructive. It is bad user experience, making the users annoyed. It also regularly happen to me that I click the wrong option, and it feels very time consuming to have to bring the cursor up, right click, select remove extension, confirm the deletion, and go back to click the right button. The effect is that it discourages users to use extensions.

Personally, I would prefer if there was one “add extension” button that would open a modal similar to the object type selection one, with the 3 options download from store/gallery, create from scratch and load local file.

That would add some extra clicks though, so I can see how some other people wouldn’t appreciate this. What I think should be changed then is the button to create a new extension.
First of all, the fact that it says it is adding extensions. Whether you create an extension, load one from a file or download it from the repository, you’re always adding it to the project. I’d therefore change the word to create, because this is what is actually happening with this button. I’d also change the icon (a plus), that implies adding more than creating, to something like the Flare icon.

Secondly, the “functions and behaviors” part of the sentence make it sound like we are adding a collection of functions and behaviors, aka an extension, so it can sound like we are not creating a new empty thing but getting something premade. It also may be confusing for users as another terminology (extension) is used in the sentence if the button just below.