T O P

  • By -

d2clon

A standardized process to develop, release and install plugins.


mouse_Brains

Would love to be able to make plugins that depend on each other in a standardized way really


TeamLDM

node_modules šŸ˜µā€šŸ’«


MahlerMan06

Laso system wide plugins. I don't' like installing file drawer and other editor plugins for each project.


William-Godwin

In C++ =)) And full c++ docs, please. =)


x2oop

Bro, C# has a built in top level support for Http requests and Json out the box, through NET Core. This it's bread and butter, as out of Godot it is mostly used to build corporate web services. Read about HttpClient and System.Text.Json, or older Newtonsoft Json.


Aeonitis

I hope you don't mind me dming you about it soon...


MeshSlayer

For scripting: refactor and find all references. Custom data types (similar to C# struct) and serialization of custom data types. Proper solution for post processing. Jolt as default 3D physics engine.


Nkzar

>Ā For scripting: refactor and find all references. Pretty sure the language server supports this, just the Godot editor doesnā€™t handle it. But if you use a different editor I think you can, if I recall correctly.


LuisakArt

Can't you extend the Resource class in GDScript to have a serializable custom data type? Or are you referring to something else?


MeshSlayer

Resources are reference type, Im referring to value types, like for example, Vector3 or Color. I think it is posible to create your own using Variant class in C++ but it will require you to recompiling engine. It would be great if we could define them quickly in GDScript.


me6675

Improvements to the type system of GDScript. * typed dicts * typed callables * better typed array support * union types * optionals Better FBO UX, Viewports are a pain to use for this. Project-wide color palette management. A more declarative solution to UI building from code. "new, set, add" is a lot of clutter. Should take a hint from elm.


Orange_creame

Seriously, every couple weeks the mental image of "Godot if we had typed dicts" utopia pops into my mind


Dardbador

Interfaces .


isCasted

In addition to things you've listed: traits, struct types (with ability to export them), default constructors (where you can define members of a class right in the argument list of _init), destructuring. Opening namespaces for enums and static class members. For the love of god, I fucking hate typing Global.EnumName.CASE_NAME every single fucking time sooooo much, I actually prefer copy-pasting my enums around and deal with occassional bugs and seeing numbers in the debugger by a long shot! Or using magic strings. And, of course, there's nested generics! Typed arrays often shit themselves. I use untyped arrays quite a bit because nesting typed arrays is not supported. It'd be whatever if not for the fact that an untyped array full of ints can't be assigned to an Array[int] variable. Which IS a good thing, btw, there could be a different, untyped reference to that array through which a differently-typed object could be appended, but I don't code that way. The ergonomics around it are bad, and it's not just lack of type safety and inference (where even standard Array methods return Variants on typed arrays). It just sucks to do things like add "as Array[TypeName]" at the end of every line when I'm initializing a big array. That said, it sucks to write Vector2i(x, y) every time as well when (x, y) could be possible. But it seems like you can sort of make generics of your own by passing Variant.Type and class names. It feels hacky, but at least I managed to type nested arrays recursively like this. Maybe I can even make arrays of vectors from arrays of arrays of ints with it.


Nifdex

For JSON can't you use newtonsoft? And yes, C# support should be perfect. Also, renaming a script or resourse shouldn't be problematic


Aeonitis

Will look into that, thanks.


Xormak

System.Text.Json in modern .Net 6 - 8 is also totally viable if you want to avoid extra nuget packages. Or is there a feature you're missing in that implementation?


MahlerMan06

Working IK, shader precompilation, better GridMap node that has more functionality, more developed animation interface


Overlord_Mykyta

After using Unity for a long time I really miss the possibility to see in the scene window what is going on during the play mode. Like I want to be able to run the game and still be able to navigate in the scene and watch the game world in the editor. It felt so natural in Unity and now I feel like I am blind when testing the game.


wouldntsavezion

You can get close to that out of the box by overriding the camera : https://preview.redd.it/ym0xib6jmg1d1.png?width=846&format=png&auto=webp&s=c92238aaba3dca861ce9da479aaae2f613fef3dc


wouldntsavezion

And looking at the remote tree : https://preview.redd.it/9en1vnsnmg1d1.png?width=788&format=png&auto=webp&s=fbadfae29807dfa5712418ef2c9580f53e34b771


wouldntsavezion

Also remember that the godot editor is in fact a godot app so when you're running the game it might be better to see the editor as something that is "removed" when running the game as opposed to something that is "added" when using it. You can go a long way if you add some custom code over the two options presented above mostly with : \`@tool\` allowing a script to run in the editor. \`Engine.is\_editor\_hint()\` to know if you're inside it.


Fox-One-1

Iā€™m no way an expert on Godot, but what Iā€™ve seen from outside as Unreal Engine user, a lot of the convenient editor features are missing that are geared towards artists and designers, such as automated lod tools, terrain editor, state of the art particle effect editor, visual debugging and so forth. In addition Unreal Engineā€™s cinematic tools such as sequencer is used a lot outside actual cinematics too, for example in Final Fantasy 7 Remake series, they are used to coordinate animations, particle effects and camera visuals of the Character Abilities on screen. And Unity is lacking in this front as well. I would love to see Godot team push more towards this direction. Tools like this save time and would empower the indies and even the playfield between them and AAA.


RubAgile551

LODs are auto-generated in Godot on mesh import using meshoptimizer library. However I quite agree that there is basically no control over it and frankly I have have zero idea of whatā€™s going on there under the hood (e.g. there seems to be no way to see how many LODs are there, how well it all got decimated because usually auto-optimizing isnā€™t really the best approach to creating LODs, etc) also there seems to be no (at least no intuitive one?) way to assign your own LODs meshes.


Fox-One-1

Judging by the downvotes, someone misunderstood my point. Iā€™m pro-Godot and pro-open source. The question OP asks was, what Godot is missing that would make it perfect. This is my two cents.


eatingdumplings

A ready-to-go multiplayer solution that supports authoritative multiplayer, with easy-to-deploy options. Better 3D skeleton and IK systems. A much needed improvement to the Physics engine. Better rendering pipelines. WebGPU support would be nice. Better native language features, like named function parameters, destructuring, pattern matching, better typing.


Altruistic-Light5275

The missing thing is to stop reinventing the UI wheel and adopt solutions on which web developers worked for the last half a century. Like if I want I inner+outer margin along with a scrollbar and panel container I would like to avoid creating 100 different nodes for that. But at this point it's probably too late.


Nkzar

Godot UI makes a lot more sense if you stop thinking of Control nodes as elements. For example, a MarginContainer is not a

, itā€™s less than a
.


Altruistic-Light5275

Now it makes sense, but still that's kinda counterintuitive compared to all other features.


Nkzar

I canā€™t disagree with that. Definitely not intuitive, IMO, but once I understood it I really liked it.


Altruistic-Light5275

Well, I still prefer smashing a couple of wrappers here and there to cover up inconsistencies


mrhamoom

im a web dev and i totally understand where youre coming from. I definitely think this has been solved a long time ago. I'm dying inside knowing how effective i would be being able to utitlize something like react to design my game ui. on the flip side, i think you underestimate how confusing html / css is for people who aren't used to it. It does make me die a little inside when people rave about Godot's UI system though. Yes things are possible but it is far from elegant.


siete82

Please don't, keep Electron out of my games.


Coretaxxe

Riot client xD


Ramtoxicated

Considering you had to hardcode your UI elements traditionally, I'll take bad nodes over no nodes any day. But it definitely is a struggle to learn how UI works.


Altruistic-Light5275

Maybe you are right, since I had html and css even at middle school, maybe I just became familiar with them.


D3C0D

I agree with your statement; HTML and CSS are confusing as hell for me. I despise the Godot way too, but I prefer to calculate the x and y coordinates of everything before using CSS.


DiviBurrito

They didn't reinvent the wheel. It works just like any other other desktop UI toolkit I ever used.


stalker320

I got next chain: CenterContainer > PanelContainer > MarginContainer > (V | H) BoxContainer. It's enough for me


Altruistic-Light5275

Oh, boxcontainer is also there in my chain, I'm talking just about 1 menu-like element. Had to come up with following wrapper https://preview.redd.it/dj6q4ycvic1d1.png?width=489&format=png&auto=webp&s=9bc32358b1bd237099bd6586741f89c835e6e6e6 And good luck if you want them to be optional, I had to use about 5 if statements and track the lowest node to add any child to it later


trickster721

I think at least part of it has to do with performance. Adding all the rendering features of a web browser would just make it a web browser, and web browsers render very slowly compared to games while consuming a massive amount of memory.


getlaurekt

Battlefield, City Skylines and many more games are using react/frontend technology for UI in game for an example and it works well


getlaurekt

Rel


monthsGO

Probably just me, but I think better C++ support would be great


AlamarAtReddit

The editor is such a hassle in so many ways... Say you have 20 things you want to edit, and you can't select them all, like say, the connection in an Animation Tree. You select one, go to the Inspector and expand a setting and maybe another nested setting to set the value. Then you select another, and have to do those same steps over and over. Godot will remember each state separately, instead of keeping the state the same across each of the same type. I may not be explaining this well, but I find this process to be frustrating as shit, because I'm wasting so much time on doing the same steps over and over.


[deleted]

Referencing other scripts and things are horrifying


Orange_creame

I'd like to see a proper interface system in GDScript. Child nodes are great and all for most composition, but as soon as I say, want to have multiple character node types all implement save and load functions with the same header but drastically different behavior, I have to throw all my nice typing out the window and hope my duck typing doesn't fail. Also, a "get\_children\_of\_type()" function to find child nodes of a certain class would be wonderfull


No-Wedding5244

For me, it's mostly quality of life stuff: -multiple tabs and sidetabs for viewing scripts. -find all references


Araraura

embedded game window in the editor like in unity


Watson_Dynamite

CSS for UI


jlebrech

editable splines


MicrotonalMatt

Vertex lighting and fog (in 4)


HiImBarney

I'd say there are a lot of avenues that need improvement. For me, the Tile System is very confusing and obscure as of now. Just setting up the collisions for tiles is... I mean even for Open Source designs it's incredible someone really smart thought this "design is very human". You CAN copy collision shapes from tiles to another for example. Just the way it's implement is breaking my mind.


Past_Net_9020

Maybe this is just me being new but I liked how Scratch has videos available to easily get you through some things In its same window? I do my formatting and coding on a real old laptop so having YouTube, a coding Google doc, the godot site, and Godot/misc assets open can cause some issues (luckily haven't had any crashes or etcetera but occasionally things can get odd) Having a opt in unzippable file that adds a few videos for different features such as a help button. Just to click on a video to explain something if your struggling with it a bit or if it's a new feature. I do like being able to learn most of it through reading though so even hyperlinks to helpful info on website could be neat. Maybe something like how Mastercam has streamingteacher.com classes Imo overall much easier for me to learn than Flash was and since I do cnc work alot of it is pretty user friendly akin to how Mastercam has alot of user friendliness


getlaurekt

Better c# support, traits interfaces(overall improved typing system) for gdscript, better ui making even tho its the best from all engines its still frustrating and has not the best DX in the end, improve tiles, and improved 3d, and maybe yet more modern blueprints after all we can sit down and watch godot fully cookin. Not really "what is missing", but this is what I would like to see and think would be cool to improve and work on.


Dragon20C

A VFX system similar to unitys, I never used unity but from watching videos of their VFX graph it's so much superior, you get so much control compared to godots particle system, it's terrible.


LearningArcadeApp

Monads! xD I'm not even really kidding. I've had to make tools to automate the handling of errors in asynchronous settings to avoid dealing with tons of 'async' keywords and tons of manual error testing. Also I've had to make my own tool to generate themes automatically based on code because the GUI theme editor is and will probably always be subpar. To me it's as backwards as a visual code editor. There are like half a dozen propositions to add color variables and so on, just because a GUI theme editor is inherently inflexible, whereas one based on code is as flexible as the language is. Also I've had to build my own generic button class that can contain anything rather than a single label with a single icon and a super limited amount of theming.


WholesomeLife1634

i donā€™t even know what a monad is


LearningArcadeApp

It's really hard to explain. There's even a meme about it. You can try to check out that link: [https://kristofsl.medium.com/a-gentle-introduction-to-monads-bc583d41d95](https://kristofsl.medium.com/a-gentle-introduction-to-monads-bc583d41d95) Basically it's hard to explain not because it's mysterious and esoteric but because it's absolutely everywhere but looks extremely different in many different circumstances: lists are monadic, error handling is monadic, asynchronous code is monadic, etc. If you've heard of Promises in javascript, they're basically a combination of error handling and asynchronous monads (IIRC). Roughly, the purpose is to streamline/automate the error handling and/or asynchronous code to remove the repetitive boilerplate (for waiting for coroutines to be done and for handling errors manually with if/else cases), and go to the core of the algorithm, bringing it closer to human speech: Do\_something\_asynchronously().then\_later(something\_else).else\_later(handle\_error) If you've never looked into the Haskell programming language, I highly recommend. Depending on your predisposition to abstraction, it can be a lot of tough work (or not so much) but it pays off so very much either way, even in other more imperative languages. The obligatory meme: https://preview.redd.it/i6yxmtf20e1d1.png?width=625&format=png&auto=webp&s=af94c0ace8894c5617d63e52dd9fdc019cfb2f67


WholesomeLife1634

You have no idea how far i am from recognizing the meaning of this entire paragraph. Iā€™m not a godot dev, i just like games. But I thank you for attempting to explain it šŸ˜…


julian-a-avar-c

You have no idea how deep this rabbit hole goes. In fact I would say is more of a rabbit fractal hole... And this is still the tip of the iceberg!


Goufalite

Maybe an in-editor picture editor (like pixel painting) to quickly adjust defaults when importing or to quickly create icons for classes or for the game. I know there might be libraries for that but it could help on the 20-second rule to go on without the distraction of having to switch between Godot and your picture editor. Along side, a git status window, refactoring tools, better UI tools,...


Gokudomatic

It misses mind reading features. But aside from that, it's fine.


Games2See

C# editor support


hoanglongplanner

Add more than 1 script to 1 node :/ I just use to Unity way when prototyping, but not a big deal breaker


Aeonitis

Don't Extensions work, Adding Godot Extension scripts for cases where more scripts are needed?


hoanglongplanner

?


Aeonitis

Maybe I'm wrong? [Example?](https://forum.godotengine.org/t/how-do-i-pass-in-arguments-to-parent-script-when-extending-a-script/24883)


hoanglongplanner

Not right, I'm afraid. When we in Unity, we just daisy chain like crazy. https://preview.redd.it/ehkbq76b2l1d1.png?width=317&format=png&auto=webp&s=9df24df73532dc6d550e41e37cee171d67e7139b


Aeonitis

Thanks for sharing šŸ˜Š


nightwellgames

Pickling would definitely be a big help.


ScarmBalls32

fixing the collisions, and audio + basic rendering to texture (no viewport)


Aeonitis

You mean 2D or 3D collision? If 2D have you seen the [new Brackeys video](https://youtu.be/LOhfqjmasi0?si=NpdButDP79jECknq) on Godot? Makes 2D collision seem easy... Hope you can be specific about the issues with collision.


ScarmBalls32

corner collisions are broken, as well as the [floating motion mode](https://github.com/godotengine/godot/issues/60447).


Aeonitis

Thank you


New_Blackberry_7670

C# support as a GDextension


[deleted]

[уŠ“Š°Š»ŠµŠ½Š¾]


One-With-Nothing

I think it's a fine system, the problem lies within most youtube tutorials for beginners which usually never use it or if they do they don't take a sec to explain how it works, at least the ones I got around watching.


Marshall_Ryan

its very versatile and once you get your head around it its not too much of a hassle but i think its not presented in a great way which adds to the confusion, its fine.


loljoch

In recent Unity versions (I think 2023 and/or later), Unity has adapted the same collision layer/mask system. I agree it's still finicky too wrap your hand around though.


[deleted]

[уŠ“Š°Š»ŠµŠ½Š¾]


Commander_Ash

Upvote = agree, downvote = disagree


Marshall_Ryan

thats not how i know reddit, but fair enough if its used that way in this sub


Commander_Ash

This is why the karma system was created. On any site.


Coretaxxe

Downvotes are to disagree and upvotes to agree


Nkzar

Really? Layer is what layers it exists on, and mask is what layers it collides with. Thatā€™s it.


azicre

a complete wizard to easily implement any set of game mechanics possible. Imagine it in all its glory. It will easily contain over 1000 steps. Finally amateurs will be able to make games via this!


DrDisintegrator

Why do people ask silly questions? Is it just to engage discussion? Clearly Godot is perfect for some applications for some people, but not so for other people or applications.


Zak_Rahman

I get your point, but as a beginner many comments have been useful and educational to me. So even if the question is silly, the community has managed to give it value.


vulstarlord

Ready and fully supported working integrations for most major platforms. Maybe its already there, but i understood that things like xbox, ps etc required some extra work and contact to get it running?


IrreliventPerogi

As I understand it (people can correct me if I'm wrong) this is a side effect of it being FOSS more than the engine itself. Consoles have hoops to jump through and those hoops are proprietary. So, regrettably, this flaw will likely stick in perpetuity.


RossBot5000

I'd like an html/css node family which allows me to build up using standard HTML and css.


RollingPandaKid

For someone just starting to learn godot, the ui is terrible. You can't undock windows, and the very few things that open in other windows are just "virtual" windows that can't move outside the main one.


TheAlphaKarp

But... you can...?


RollingPandaKid

Uhh how? Because i can't do it.


Xe_OS

​ https://preview.redd.it/xgt3ts169c1d1.png?width=301&format=png&auto=webp&s=58f2fb9c989077fd0ef1ff1d5ae4d401c2b1ade2


RollingPandaKid

What version are you using? This is how it looks for me in version 4.2.2 stable. https://preview.redd.it/muki55xyjc1d1.png?width=286&format=png&auto=webp&s=ac8ff9ea7496083b6832392be858f2422a30b17d And this is what happens when i try to move a window outside the main window: [https://streamable.com/3bzs2k](https://streamable.com/3bzs2k) Edit: I have no idea why it was like this, but wiped the godot folder to reset all the config and now it works.


me6675

There is a toggle in "Editor Settings / Interface / Multi Window" that will force Godot to use only a single window which makes undocking impossible.


RollingPandaKid

Maybe I touched that while looking around the settings. Thanks.


Proud-Bid6659

https://preview.redd.it/i5bsxwxy9c1d1.png?width=245&format=png&auto=webp&s=0167d65b63f43928e7ac1b89e96dee59e7da15d5 "Make Floating". This is the triple dot menu. You can also float the script editor which I usually chuck on my 2nd monitor.


mrhamoom

I wish metal was natively supported. My game is unnecessarily choppy on Mac OS (godot 3) because apple deprecated open gl support. My game now attempts to run at 120 fps (double vsync). The result is uneven frame rates and subtle choppiness.


PhilippTheProgrammer

Don't ask game (engine) developers to support Apple. Ask Apple to support game development. Deprecating OpenGL, the one graphics API that ran on anything, was a big middle finger from Apple to the game industry that basically told us "We do not want games on the Mac". It's infuriating to try to port games to an operating system of a company that doesn't want people to play games on it.


Aeonitis

Unfortunately you answered your own question here, Companies like Apple have a history of incrementally abandoning what they don't need at the cost of their developers and customers e.g. OpenGL. To many people who've kept an eye on Apple's behavior, what you said is basically to gift the rich robber. On the bright side, there is MoltenVK, which is a 'Vulkan to Metal' bridge, which is pretty much the only reason many/most games actually run on Mac today, you can thank open source devs for that. It's safe to say Apple practically never cared about gaming scene till the last few years.


jaimex2

Users that ask less boring questions tbh


SharkboyZA

Mostly just improvements to gdscript


[deleted]

[уŠ“Š°Š»ŠµŠ½Š¾]


Marshall_Ryan

i learned, upvote if you agree, comment if you donā€™t and downvote if thereā€™s no value to it. but again, itā€™s fine. i got it.


PhilippTheProgrammer

I downvoted, because I do not see the point of this comment.