godotengine / godot-proposals

Godot Improvement Proposals (GIPs)
MIT License
1.05k stars 65 forks source link

Update signals in a running game when they are changed in editor #9675

Open passivestar opened 2 weeks ago

passivestar commented 2 weeks ago

Describe the project you are working on

Any project

Describe the problem or limitation you are having in your project

This proposal is related to https://github.com/godotengine/godot-proposals/issues/9519. Being able to update things in editor and see the changes in a running game greatly improves iteration speed. Right now only some operations are synced (adding/removing nodes, changing properties). Being able to also connect signals and immediately see the result in game will allow prototyping levels faster because you'll be able to add interactive level design logic (i.e button-activated doors, trigger-activated events, etc) while the game is running

Describe the feature / enhancement and how it helps to overcome the problem or limitation

Adding, removing and modifying signals would also change them in game

Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams

Godot already has a messaging system that is used by the existing live-update logic. For signals to work new message type(s) will need to be added that will tell the running game that signals need to be updated

If this enhancement will not be used often, can it be worked around with a few lines of script?

Not with a few lines

Is there a reason why this should be core and not an add-on in the asset library?

Godot already has some live-debugging features and it would make sense for more editor changes to be synced, especially something as useful as signals