General questions about the engine, for veterans

Hi folks,

I’m new to Godot but have been programming for a longer time in web dev, I’m now learning to use a game engine to make games.

I stumbled on an issue and now I have doubts: programming in a single IDE window is aweful, so naturally I searched how to split the window. Answer: You can’t, it’s been requested for more than 8 years, and an implementation is not planned.

It came as a shock really, as in my opinion it is essential tooling for programming, more important than many things more recently implemented in Godot.

My questions for veterans Godot users are:

  • In your opinion, has Godot development been taking the right direction these past few years ?
  • Do Godot devs consider user requests to pick which feature to develop, or is it more based on personal-motivation basis ? (which being open source could be understandable).
  • Is there other such important features that the Godot engine has been missing for so long ?
  • I suppose any project above tutorials are developped in an external IDE ? What is the standard in this regard, which IDE offers the best integration with Godot ?

Since I only just started with Godot, I’m still considering switching to Unity at almost no time cost, so any answer would help me with these thoughts.

Core developers do take on requested features and harder un-fun work; Open source contributors are free to work as they please. Here’s a link to a Godot proposal viewer, it sorts the github issues by most likes.

— Godot Proposals Viewer

Godot has a built in LSP so any modern IDE will integrate fine, many people use VSCode.

Unity offers no code editor at all, and no LSP. You will need an external editor, and external plugins for the code editor to recognize Unity’s built in structures. Same with Unreal for C++.

that same issue references a different one where the feature is implemented

I don’t know what you are looking for or if this is enough, but work has been done about it.

godot is designed to work with gdscript and has a built-in editor. this “issue” is only really for C# devs and people on other languages that are supported through gdextension. so it is understandable for it to have a lower priority.

I have been on godot for no more than 2 years, but I have thoroughly tested and learned the engine. I also have experience with other engines from before godot.
I’m going to answer your question if you don’t mind.

yes. many bugs have been fixed, performance has been increasing, graphical features are being worked on, 2D is being improved, one recent one is the tileset layer, where the tiles are now combined into a single physics shape. another is physics interpolation. they are also adding jolt as an official physics engine.
compatibility is getting many of the features that were previously only available in forward mode.
they added 2D shader instance uniforms, and many more.

devs are very practical and fair for the most part, features that are not important or would break the engine are denied, while ones that make sense are either fixed or given a solution.
some people get very angry when their particular feature or drastic change is not approved, but the devs explain very well why that’s the case. some times they want something that is very difficult to implement overnight, so that takes time. other times they want to completely overhaul the editor that we all use so it looks more like unity or unreal, in a way that would affect some or many users that have become accustomed to it, so that tends to get denied and for good reason.

the only features missing are very small or specific:
cloth simulation, not to be confused with soft body.
stencil support, this is a work in progress and getting close.
Texture streaming, also a work in progress.
then there are many minor requests for very particular cases.

2D is I would say complete, while 3D is being worked on but is usable, and there have been many games published already.

no. gdscript has good integration with the editor and no external editor is required.
external editors are only used by C# devs because the built-in godot editor does not support it. it would be dumb to use an external editor with gdscript, because in editor you get access to the contents of nodes like AnimationTree paths, and can dragndrop nodes from the tree, and can edit the script while the game is running, and debug it, and more.

as for IDEs, VSCode has integration with godot (for C#), I think I also saw an addon for Jetbrains, and other IDEs might have support too.

this depends on your knowledge of programing. if you have no experience whatsoever I would say stick with godot and learn gdscript, it will serve as a base to learn other programming languages.
unity forces you to use C#, and while it’s easy to move a box forward at first, you need to have full knowledge of C# to make any actual games. also, most essential features of a game are only available in unity as paid addons. one example of this is automatic tiling, which in godot comes with the tileset layer node and has many different configurations with terrains.
setting up a project is also easier, in modern unity you need to create a shader for HD or PR, and the old rendering path is deprecated, it is also imposible to switch between them once you create a project, and projects tend to break between releases. something made in 2020 will not work 2024, and it will not even be detected as a project.
godot is also much faster than unity, both games and the editor, and the installer is less than 100Mb while unity is upwards of 2-4Gb.

2 Likes

@gertkeno @jesusemora thank you both for your answers. From what I understand Godot is well maintained and developed overall, I just happened to stumble on one specific thing that they don’t see as a priority. So I’ll stick to Godot.

The feature I’m referring to is the ability to split a code editor window into several columns, which is very handy when working on a program that needs several files. It looks like this:

The fact that it seems to be good practice to make one class per file in GDscript, make it even more necessary to be available within Godot’s code editor in my opinion. But I get that it’s a matter of habit, I will get used to constantly switching between files.