Why is the embedded game window not yet fully part of the engine?

Godot Version

The new and amazing v4.4.1.stable.

Question

So, I recently ran v4.4 for the first time and was surprise to see a feature that I was originally missing coming from Unity: An embedded game window.
Now that I had my first experience with it, I wonder why it actually is a real system Window with hidden header placed at the right spot instead of being a window node attached to the game window tab. This creates all kinds of problems as for instance described in this issue: Embedded game window opens taskbar when focussed · Issue #104827 · godotengine/godot · GitHub
So, can anyone explain me why it is not possible to add it natively to the engine with the Window node system so that the game window is not an OS window but part of the engine?

Debugging is easier as a seperate process. I think more accurate in-editor vs export behaviour as well.

This was briefly touched upon in the release notes, see:

There was a longer post about it before on why it works this way, but I cannot currently find that.

But it boilds down to these two things, quoted from the above source:

Godot runs the game as a separate process from the editor for two reasons:

  • avoid having to share resources as much as possible
  • in case of a game crash, keep the editor running (to avoid data loss)
1 Like

Cool, I hadn’t discovered the update news page which looks juicier than ever. But I guess, I am not entangled enough in the engines design to truly understand why these dependencies could not be avoided if ran inside the editor. But I trust those in charge. :wink:

Unity will try its best to catch all exceptions thrown by the game, but if it fails, your game crashing can also crash the engine. As far as I know, this isn’t something that can be avoided, at least not entirely.

1 Like