Godot 5 Wish List

Godot has had some coverage, and over the course of a conversation, someone said something like “What would you even want in Godot 5.”

I made a couple of off-hand lists, but I think there might be something interesting here so I’m going to go back, edit them together, and add a few more.

  • Interfaces, and deep integration of interfaces. For example, I’d like to be able to create a Group with an interface and ensure that any node added to that group implements that interface and get editor support when I pull that group. Interfaces should be able to require methods and signals at least.
  • Improve large scale scene editing and navigation. The scene editor is great for something like a character, but it’s downright painful to move around a really large scene to try and use it as a level editor.
  • Built-in heightmap terrain
  • Split Code Windows (and better code window management in general. They seem to open and switch around at random.)
  • Much better asset import/export story. I’m mostly talking about Blender here. Getting an animation successfully exported and imported is an arduous journey.
  • More debug drawing primitives. Arrows and stuff.
  • Please make it less painful to edit dictionaries in the node inspector. Needing to click add and navigate a drop down for each key hurts. Should be easier now that we have typed dicts.
  • Print should use log levels we can toggle like we toggle drawing navigation and physics shapes. Bonus if we could expose our own log level checkboxes in the same menu.
  • Better debugging information during nav mesh baking. Understanding why the nav mesh turns out the way it does tends to be a lot of trial and error.
  • Demo projects replicating common multiplayer use cases in depth to demonstrate parity with popular multiplayer games.
  • Allow us to define custom variable decorators (like @export) so that we can, for example, annotate which variables need to be persisted in a save file.
  • Tuples, especially Tuple unpacking so we don’t need to return untyped arrays everywhere
  • Pack file explorer so we can debug our exports.
  • Linter integrated with editor. Gimmie green squiggles, including support for linter flags like “forbid untyped vars”
  • Improved VSCode plugin.
  • Make it easier to move subtrees from one scene to another. Right now it’s a bit onerous.
  • Scene inheritance is sort of a mess; clean that up. I don’t have a great proposal for how but it’s a core feature and still feels like an obscure edge case by how the editor handles it. My not-great proposal is to have scene superclass be a parameter you can change in the inspector with a ‘reparent’ dialogue.
  • vi mode for the editor.
  • Python style fstrings.
  • Input event names could be an enum or something like an enum so the editor is aware of the available options. Ditto for groups. This works very well for node paths, I’d like to see it in more places.

Some of this may already exist, which makes it more of a doc bug than a missing feature. If some or all of these are filled in by plugins, please let me know in the comments if I’ve missed any good ones.

Leave a Reply

Your email address will not be published. Required fields are marked *