Problem regarding custom objects in extension : "condition on behavior missing from extension"

Hi.
Trying to create an extension which will make available custom objects, and I get this error in red…

(I tried to look into adding a new parameter with a type BEHAVIOR, but I don’t know what the other options should be…specially OBJECT TYPE)
any idea how to solve that ? Thanks

What do you want to click? The custom object, a child object inside it or is the click behavior part of another behavior?

I’m just trying to figure out where the button is.

Your extension is using a condition from a button object but the button extension is not installed in your project.
https://wiki.gdevelop.io/gdevelop5/extensions/panel-sprite-button/

Your extension is using a condition from a button object but the button extension is not installed in your project.
Panel sprite button - GDevelop documentation

Yes, exactly, I create a custom object with several “Button(panel sprite)”. These standard buttons have their own functions (or behaviors ? : isClicked, IsHovered, etc) which don’t need to be added as extension in the normal editor since they are directly available when adding a new object.

So you @davy mean that when making an extension with buttons, I need to specifically add this “Button (panel sprite)” as an extension into my personal extension. Ok, that’s not obvious but I agree to do it… Then could you please help me on how I should do since I have no idea.
I have seen this page (Custom behaviors - create your own behaviors with events - GDevelop documentation ) explaining how to do with behaviors, but I don’t know how to apply it to my custom object… Thanks.

And to answer @Keith_1357 and better understand the goal of my extension :
it is a collection of buttons, which when are clicked open an other collection of buttons sometimes with parameter boxes, in order to make menus to open multiplayer using THNK in a simple way (just have to install the extension in the project, and make the custom object appear somewhere in a scene, and the whole P2P THNK multiplayer parameters are properly executed in the game). So for instance if in the first menu the player clicks on “Start multiplayer with P2P”, it will then show the following buttons, each activating the corresponding THNK functions :

If you add the buttons as child objects for a custom object then it should automatically add the behavior/extensions.

I added a button to a custom object and then this to the step event. I rotated the object to test it.

No, I meant you need to have the extensions that you’re using installed in your project.

@Keith_1357 I don’t know how you checked if it works or not, but I tested earlier that kind of thing earlier and :
in the same project (where I define the extension) ; IT Works nice,
but in an other project, where I install the export of the extension : I got the error I showed at the top of the page…

(By the way, it would be nice to have a simple way to test if the extension is working or not, without having to export it and import it into a new test project. But may be that’s not possible)

O may be it works in your case with the specific button extension you use, which is different from the standard simple button. (But stil I might be happy to use that). However it is interesting to know why the standard button doesn’t come easily into an extension.

OK, actually you are right, it was not installed…

I installed Button (panelSprite) into the project (which calls the extension).
extension added

and It crashed the preview :

did I do something wrong ?

Davy will be able to answer more accurately . In my case I think the issue is for me, when I add a button, it adds the button extension to the scene. If I was to try my custom object in another project it probably wouldn’t work. The button extension probably needs to be inside the custom object or setup somehow as a required behavior. IDK if that’s applicable to children objects.

Maybe if that is also happening to you then you need to add the button extension to the custom object not to the scene.

may be, and that’s precisely what I don’t know how to do at the moment… yet :sweat_smile:

I will keep on trying anyway, and let you know.

When you save the project and the extension of a custom object is missing, GDevelop doesn’t know what to save so the object configuration becomes blank and GDevelop doesn’t expect this because custom objects have initial configuration values even when they are created.
It’s kind of a bug as GDevelop should save and load unknown properties rather than dismissing them.

In your case, you should probably remove the the buttons objects and add them again.