So in following the tutorial, I'm doing a simple dummy custom Bottom Panel plugin, whose GUI only has a Button labelled "Click Me" with its pressed signal connected to a func that simply prints.

Specifically, that GUI (which does show up in the Editor as a Bottom Panel!) has _ready and _enter_tree both do a print that never shows up anywhere, and has its Button node's pressed signal connected to 2 funcs: one is connected programmatically in _ready and the other declaratively in the gui.tscn (ie. interactively via Godot Editor's Node/Signals dock). Both do first a print and then an EditorInterface.popup_node_selector call, just to see some onclick action here. All these funcs aren't ever called at my end. Including after project-reloading, editor-restarting, plugin-disabling-and-re-enabling etcpp.

So somehow I only succeeded in showing a Bottom Panel label/tab "Dummy Plugin" that upon selection shows my single-button GUI. But the script code attached to that GUI scene just isn't ever running. No error/warning messages anywhere either.

What am I missing in my minimalistic dummy project? Minimal repro project: source code here, ZIP'd here

This is Godot 4.3-4 on an Arch Linux system.

    meta_leap ready and enter_tree ONLY WORK IN GAME.
    plugins don't run in game but in editor, so that's probably your problem.

    some scripts CAN run in editor by setting the to @tool, but you have to check if you are in editor in the code and have special conditions.

      Ahh probably it's the missing @tool I stupidly forgot! Thanks for that, will give it a go in the morning. And I guess you're probably right about _ready but _enter_tree is in the tutorial snippet of the above-linked Godot Docs page — and after all, the Godot Editor is supposed to be "just a Godot game itself" =)

      Jesusemora

      ready and enter_tree ONLY WORK IN GAME.

      Actually, now that I added the missing @tool (thanks again =) I can confirm that both run in the Editor

      Jesusemora ready and enter_tree ONLY WORK IN GAME.

      That's not really true. For a tool script, both will run when the scene is opened in the editor. Additionally _enter_tree() will run whenever the scene is starting to get edited (e.g. when clicking on its tab)