My 13yo son recently discovered Godot and I'm very impressed by how accessible and powerful it all is. He had started gamedev a few years ago with Scratch. Figured out Roblox Studio a fair amount, but it's super quirky, plus he wanted to do 2D games. Tried some other stuff (eg pygame) but that's just super low level, inaccessible, plus you can't properly distribute pygame games for shit. Godot is on a whole nother level.
I had never bothered pointing him to it, because I remembered Godot as "a bunch of C++ libraries for gamedev". I'm not even sure whether that's ever been the case or just an incorrect memory, but today's Godot is incomparable to that. The editor UI is very full featured, and you can easily make simple 2D games with relatively small amounts of programming. It includes a level editor, animation stuff, and so on. It's just very feature complete, and I think it's very impressive for a FOSS project to be so accessible to newcomers stumbling into it by chance. Points also to the people making videos.
Also sidenote I think GDScript is great. My son had tried Unity first, but the C# compile cycle was so slow that he kept getting out of the flow. As a developer dad, Godot's GDScript struck me as a super weird "not invented here" thing at first, but realizing what tradeoffs they're going for (familiarity, fast edit-compile-run cycle, concurrency, lightweight binding to C++ internals, etc), I now see the point completely. I'm sure it has plenty quirks but for a beginner like my son it's a perfect fit.
Bottom line, he was able to make a Flappy Bird clone and put it on his Android phone, totally solo (except the Android export, and with lots of YouTube support), in like two afternoons. Drew the art, coded the dynamics, everything. Hats off to the Godot team!
> My son had tried Unity first, but the C# compile cycle was so slow that he kept getting out of the flow.
I'd like to know more about this. Were you comparing similar sized projects? I've only done very small projects in Unity and the cycle was near instant. Loading up some of their 3gig+ samples, there was an initial build that took 40+ mins but that's because it had 3gig of assets to process.
My entire experience with Unity is "my kid said it took long to run the game he was trying to make". Sorry that I can't be more helpful. He might've been unreasonably impatient, I never looked over his shoulder when he was trying out Unity. All I know is that he says he likes Godot way more, in no small part because it's "faster" (and I'm pretty sure he doesn't mean engine performance when he says "faster").
I think Unity does this because the same process is re-used for Play and Editor modes, whereas Godot does the normal thing and spawns a new process when testing.
Clone of some popular game that I forgot the name of where you're a block and you move around a maze (tile-based, 2d) but you can't take small steps or slow down, you always slide quickly in one direction until you hit a wall. It's a puzzle game, you gotta make it to the exit without hitting the kill blocks. He wants to figure out how to make an in-game level editor for it but he still only 10% groks the node/scene system so that'll take him some attempts for sure :D
> because I remembered Godot as "a bunch of C++ libraries for gamedev".
Yeah it's never been that, it's always been an editor-driven engine. Started life as a proprietary game engine by a consultancy, then open sourced about a decade ago.
Super cool though, learning Godot at 13 is a great opportunity.
I've loved using Godot more, and it's been very informative as the first big OSS project where I'm closely following the development / proposals / devchat. I don't agree on many of the points by people downthread: I use C# almost exclusively and while it's been awkward (and clearly not a "priority") it's pretty seamless to use once you set up some stuff (though it certainly helps if you keep much of your logic in C# and mostly use Godot as a frontend, crossing the boundary is kinda awkward and slow).
Having said that, I do agree that Godot has a bit of complicated identity: it is at once geared towards being a good first programming experience, and a general purpose replacement for stuff like Unity.
I'd prefer a focus on the second part, there's a huge industry of game-devs right now, and providing them with the stability of a solid, free, transparent engine would be a great service.
I'm in the same position, I use C# both because that sort of syntax is more familiar to me, but also because it just seems better as a language (in terms of both code structure and performance).
There's a lot of downplaying of the advantages of C# in the Godot community, seemingly moreso by people who are amateur game devs/programmers, who perhaps just don't need the advantages for their particular kind of game.
wow, this release looks really cool! this part especially:
> With the new LibGodot, you can now embed the engine directly into your own applications. Instead of running Godot as a separate executable, you can control startup, manage the engine loop, and integrate it seamlessly into custom workflows.
it might seem like a small thing but the IoC setup of Godot makes it really annoying to build certain game infrastructure (specifically in my case, automated testing) because everything is beholden to the main engine loop, to the node tree getting mounted, etc. being able to take control of that and have the engine run under your own terms is super cool.
that being said, I'll probably wait for a couple versions before trying it out on my game since I'm sure it's not exactly battle-tested yet
Like their predecessors, they were initially conceptually clean and simple in the beginning too. But then decades of feature development, the scope creep overcomes the clean architectures and design decisions. Lets see if Godot remains the same in 10-20 years, I'm cautiously optimistic :)
I tried gamedev before, but was never able to fully commit to getting over the learning curve for Unity and Unreal. Godot has proved much easier to just jump in and make things. I really like where the project is heading. Godot + Blender = the dream
Do any of these changes make it easier to vibe code games in Godot? Or make it easier to make an MCP server for Godot? Saw LibGodot and the work in GDExtension but unsure if those are relevant for AI dev.
Afaik due to how .NET webassembly works, it expects to own the main loop, so I think the main motivator of this change was to enable .NET in Wasm builds.
As something to compare to, I picked a random repository from what GitHub Explore showed, clicked on the first that looked like a desktop application (https://github.com/siyuan-note/siyuan/releases/tag/v3.5.4), and their Windows binary is currently 166MB for a "privacy-first, self-hosted, fully open source personal knowledge management software".
I'd claim 80MB for an entire game engine + editor for said engine is very good.
What is to note here, this is without export templates, these are ~800MB extra (200 per platform, but it seems like you can download only all at once nowadays).
Engines like Unity and UE include those in the primary download already.
That is actually pretty amazing for a game engine. I'm not a game dev and I've only ever made some tiny games in Unity back in college but this makes me want to install Godot and try making games again.
I wonder the same thing, but with an emphasis on app mobile development.
Godot from project setup to running on my Android is way more effortless/lightweight experience than doing the way of AndroidStudio and/or Flutter stuff.
What I dream of is making a Lua binding for essential godot GUI control nodes using GDExtension and using this LibGodot to own the engine loop, so I can do all the app code in Lua.
So, I may have drifted away from your question, but the point is that I love Godot for gaming, and I can handle GDScript plus the engine editor, but for writing a complete application I would want to develop in my language/editor/ecosystem of choice.
In that sense, LibGodot(plus GDExtension) may help indirectly developing GUI applications by letting people own Godot in their ecossystem of choice.
I'm working right now on an app in Godot to support a tabletop game. Their UI framework is pretty nice IMO. It really helps that the editor itself is made in Godot, so they have a lot of real usage of their UI system already
I don't know about the new features, but you could definitely make a drawing program in Godot already. There are a couple really good RPG map-making tools in Godot, and that's basically a drawing app where your brushes are trees and buildings
Love the workflow focus in this release. 2D animations/hitboxes and terrain creation was tedious enough that I built a tool around it—draw, animate, export to Godot if anyone needs it. It also now become a full game engine!
Does anybody have tips for running Godot on KDE Plasma + Wayland? I tried 4.0 and an earlier 3.x release from the store but both hung shortly after startup. Maybe need some Wayland argument, will check.
Godot runs on Wayland using Xwayland, which causes a variety of UI issues, when not running in single window mode. [1] To get around this, start Godot with godot --single-window, then open a project, and enable single window mode in the editor settings.
This issue has been resolved in Godot 4.1.1. [2] This issue seems to have recurred in Godot 4.2 [3]
With Godot 4.3, Wayland can be used natively. [4] There are two ways to do this:
Set the command-line argument --display-driver wayland.
Enable the editor setting located at run/platforms/linuxbsd/prefer_wayland.
The above only makes Godot's client to run under native Wayland, but games still run under Xwayland. In order for games to run under native Wayland, go to project settings, click on "Display Server" at the sidebar, and at the option "Driver.linuxbsd" select wayland.
Cheers, that worked! 4.6 is working great on Wayland. I created a new .desktop shortcut pointed to Godot_v4.6-stable_linux.x86_64 with argument "--display-driver wayland". Working flawlessly, thank you.
With all these editor improvements, we should now be waiting for someone to realize that a soft fork + a thoughtful plugin-based architecture using the original as a base means that lots of the effort that has gone into Godot's (snappy) UI could be repurposed and make for better web development inspector/debugger experience than using browsers' own built-in tools.
A "native" text editor, style properties viewer, profiler timeline, (and more, e.g., animation curve editor), instead of the ones we've got (like the one in Firefox, that they wrote in React[1] where you can see visible, whole-panel flicker when the UI repaints itself every time the cursor blinks)? Yes, please.
For 3D, the return of in-engine inverse kinematic nodes (SkeletonModifier3D descendants) has been a big deal for me.
The old 3.x system was a mess, so it was dropped in 4.0. The community filled a lot of the gaps in the meantime, but having the new system (in-engine) is great.
I've been working with it for a few weeks from git master, and everything just works as I expect. It definitely needs some more user-level documentation, though: if I hadn't been following development, I don't think I'd know what everything does, and if someone were new to IK generally, it'd be hard to get off of the ground.
Shameless self plug: I was tired of the limitations of Godot with Claude Code, so I made Ziva[0]. In addition to just writing Gdscript and shaders, it interacts with the rest of the editor via MCP, all without leaving the Godot interface
They're still quintupling down on their sad Python-lite clone language and toy inbuilt text editor, what a damn shame. Still no way to avoid GC in C#. Godot had real potential, but they continue to insist it is a playground for learning about game development, rather than a tool to release a real game. If a fraction of gdscript and editor manhours had gone into real engine development, it would be better than Unity by now.
Agreed 100%, C# is obviously a second-class citizen and I'm not going to waste my time with GDScript. It really is a shame because there are so many things to like about Godot, but the litany of issues with C# support due to their focus on GDScript has just soured the whole thing for me. Unity is just not an option as far as I'm concerned due to their bizarre licensing fiasco (and their own mountain of technical issues). So it's Monogame/FNA for me I suppose.
If you know any scripting language you know GDScript. How much time are you wasting when it takes one afternoon to learn? And nowadays it even has gradual typing support for those that are scared of dynamic types.
I have seen C# devs coming to Godot being super prejudiced against GDScript and then end up using GDScript anyway because it is just more pleasant to use.
I'm developing a game in Godot using C# and my experience with it is very good. I guess it depends on how deeply you integrate with Godot. I try as far as its possible to write my game headless. My opinion may change when I have gotten to the point of actually shipping a game though, so this take needs a grain of salt.
Very true. While I believe there can be a place for a language tailored specifically for gamedev, GDScript certainly is not it.
C# support seems to have been added reluctantly, because the prospect of attracting unity devs was to good to pass on. But then they switch over and realize it is treated like the ugly stepchild and the hope is that you will just use their scripting language to avoid the friction.
And don't get me started on using GDExtension for other languages. Claiming C/C++ is available as a scripting languages in the same sentence as GDScript is a joke.
that's not been my experience at all. I've found that Godot works exceptionally well with C#, and I've felt zero pressure to use GDScript. It integrates really well with Rider too, which is the C# IDE I use. Even when there's places online that use GDScript examples, they tend to translate pretty much directly 1:1 to C#.
Can you please elaborate why you think C# is not really well integrated into Godot? I'm using it myself and it seems fine to me. There's quite a community around Godot + C# check out https://chickensoft.games as well. FWIW the Slay the Spire 2 devs also seem to be happy with Godot + C#
I was able to hack together a toy game with godot-rust several years ago, and it had some rough edges but I was able to integrate Bevy’s ECS with godot’s editor and rendering. I’ve loosely followed its development since then, and the roughest parts seem to have been smoothed out. If it’s important to the dev, they can absolutely use rust
Is the GC in C# actually that much of a problem? Slay the Spire 2 is made with Godot + C# and the devs seem to be fine with it. Of course, it's probably not a computationally very demanding game but still the GC in C# does not seem to be a problem there.
Yes it is a big problem. StS devs cannot write normal C# code, you have to really work around the C# integration to avoid lag spikes. See my other comment GitHub thread. There's also things like this https://github.com/godotengine/godot/issues/86926 and that the underlying types aren't compatible (Godot collections) that make it clear they aren't serious with the C# support.
The other huge problem is the terrible external editor support, it does not work well at all. This means your vim, jetbrains, whatever muscle memory from a lifetime of professional dev work becomes useless, and you have to use a gimped text editor worse than notepad++. You can use an external editor, but then lots of things don't work very well, scenes get randomly corrupted, hot reloading doesn't work, etc. It's many issues like this that prove Godot's only priority is attracting and entertaining people who have never written code before, instead of making an engine viable for shipping games.
I gave Godot a real chance for years, but at the end of the day it's a toy. There's a good reason that there are barely any games using it, and they're all extremely technically simple; surprisingly, that reason is not an unsophisticated underlying engine, but rather a million DX papercuts that a good ambitious developer would just never accept.
As a current C# web developer I think C# is amazing. I know multiple other languages (Java, JS, Python and others) fairly well and none of them measure up to modern C# in my opinion. Visual studio is trash though.
My 13yo son recently discovered Godot and I'm very impressed by how accessible and powerful it all is. He had started gamedev a few years ago with Scratch. Figured out Roblox Studio a fair amount, but it's super quirky, plus he wanted to do 2D games. Tried some other stuff (eg pygame) but that's just super low level, inaccessible, plus you can't properly distribute pygame games for shit. Godot is on a whole nother level.
I had never bothered pointing him to it, because I remembered Godot as "a bunch of C++ libraries for gamedev". I'm not even sure whether that's ever been the case or just an incorrect memory, but today's Godot is incomparable to that. The editor UI is very full featured, and you can easily make simple 2D games with relatively small amounts of programming. It includes a level editor, animation stuff, and so on. It's just very feature complete, and I think it's very impressive for a FOSS project to be so accessible to newcomers stumbling into it by chance. Points also to the people making videos.
Also sidenote I think GDScript is great. My son had tried Unity first, but the C# compile cycle was so slow that he kept getting out of the flow. As a developer dad, Godot's GDScript struck me as a super weird "not invented here" thing at first, but realizing what tradeoffs they're going for (familiarity, fast edit-compile-run cycle, concurrency, lightweight binding to C++ internals, etc), I now see the point completely. I'm sure it has plenty quirks but for a beginner like my son it's a perfect fit.
Bottom line, he was able to make a Flappy Bird clone and put it on his Android phone, totally solo (except the Android export, and with lots of YouTube support), in like two afternoons. Drew the art, coded the dynamics, everything. Hats off to the Godot team!
> My son had tried Unity first, but the C# compile cycle was so slow that he kept getting out of the flow.
I'd like to know more about this. Were you comparing similar sized projects? I've only done very small projects in Unity and the cycle was near instant. Loading up some of their 3gig+ samples, there was an initial build that took 40+ mins but that's because it had 3gig of assets to process.
My entire experience with Unity is "my kid said it took long to run the game he was trying to make". Sorry that I can't be more helpful. He might've been unreasonably impatient, I never looked over his shoulder when he was trying out Unity. All I know is that he says he likes Godot way more, in no small part because it's "faster" (and I'm pretty sure he doesn't mean engine performance when he says "faster").
1 reply →
It’s probably not compilation, but “Domain Reloading” (https://docs.unity3d.com/2022.2/Documentation/Manual/DomainR...) which is laughably slow and on by default.
I think Unity does this because the same process is re-used for Play and Editor modes, whereas Godot does the normal thing and spawns a new process when testing.
That's awesome! What type of game is your son making now?
Clone of some popular game that I forgot the name of where you're a block and you move around a maze (tile-based, 2d) but you can't take small steps or slow down, you always slide quickly in one direction until you hit a wall. It's a puzzle game, you gotta make it to the exit without hitting the kill blocks. He wants to figure out how to make an in-game level editor for it but he still only 10% groks the node/scene system so that'll take him some attempts for sure :D
> because I remembered Godot as "a bunch of C++ libraries for gamedev".
Yeah it's never been that, it's always been an editor-driven engine. Started life as a proprietary game engine by a consultancy, then open sourced about a decade ago.
Super cool though, learning Godot at 13 is a great opportunity.
Thanks! I bet I've had it confused with something else then.
5 replies →
Hats off to your son too, I'd say.
Great experience, thanks for sharing, a great way to get them motivated.
I've loved using Godot more, and it's been very informative as the first big OSS project where I'm closely following the development / proposals / devchat. I don't agree on many of the points by people downthread: I use C# almost exclusively and while it's been awkward (and clearly not a "priority") it's pretty seamless to use once you set up some stuff (though it certainly helps if you keep much of your logic in C# and mostly use Godot as a frontend, crossing the boundary is kinda awkward and slow).
Having said that, I do agree that Godot has a bit of complicated identity: it is at once geared towards being a good first programming experience, and a general purpose replacement for stuff like Unity.
I'd prefer a focus on the second part, there's a huge industry of game-devs right now, and providing them with the stability of a solid, free, transparent engine would be a great service.
I'm in the same position, I use C# both because that sort of syntax is more familiar to me, but also because it just seems better as a language (in terms of both code structure and performance).
There's a lot of downplaying of the advantages of C# in the Godot community, seemingly moreso by people who are amateur game devs/programmers, who perhaps just don't need the advantages for their particular kind of game.
wow, this release looks really cool! this part especially:
> With the new LibGodot, you can now embed the engine directly into your own applications. Instead of running Godot as a separate executable, you can control startup, manage the engine loop, and integrate it seamlessly into custom workflows.
it might seem like a small thing but the IoC setup of Godot makes it really annoying to build certain game infrastructure (specifically in my case, automated testing) because everything is beholden to the main engine loop, to the node tree getting mounted, etc. being able to take control of that and have the engine run under your own terms is super cool.
that being said, I'll probably wait for a couple versions before trying it out on my game since I'm sure it's not exactly battle-tested yet
> I'll probably wait for a couple versions before trying it out on my game since I'm sure it's not exactly battle-tested yet
Who better to do the battle-testing?
The new UI is terrific. The old Godot was already pretty decent, allowing me to release my indie game on Steam. But this one is so much better.
Godot is slowly becoming the next Blender, a dominant open source success story.
To me it is so conceptually clean and easy to work with. Unity and Unreal are great products, but they also seem kind of clunky and bloated.
> but they also seem kind of clunky and bloated
Like their predecessors, they were initially conceptually clean and simple in the beginning too. But then decades of feature development, the scope creep overcomes the clean architectures and design decisions. Lets see if Godot remains the same in 10-20 years, I'm cautiously optimistic :)
I tried gamedev before, but was never able to fully commit to getting over the learning curve for Unity and Unreal. Godot has proved much easier to just jump in and make things. I really like where the project is heading. Godot + Blender = the dream
Do any of these changes make it easier to vibe code games in Godot? Or make it easier to make an MCP server for Godot? Saw LibGodot and the work in GDExtension but unsure if those are relevant for AI dev.
I'm pretty excited about libgodot! Let's see what use cases people can come up with for it.
Afaik due to how .NET webassembly works, it expects to own the main loop, so I think the main motivator of this change was to enable .NET in Wasm builds.
I am curious to see how much the editor have been increasing in executable size after each version
Comparing the win64 build for each version. For 12 years of growing scope, that seems pretty good to me:
As something to compare to, I picked a random repository from what GitHub Explore showed, clicked on the first that looked like a desktop application (https://github.com/siyuan-note/siyuan/releases/tag/v3.5.4), and their Windows binary is currently 166MB for a "privacy-first, self-hosted, fully open source personal knowledge management software".
I'd claim 80MB for an entire game engine + editor for said engine is very good.
What is to note here, this is without export templates, these are ~800MB extra (200 per platform, but it seems like you can download only all at once nowadays).
Engines like Unity and UE include those in the primary download already.
That is actually pretty amazing for a game engine. I'm not a game dev and I've only ever made some tiny games in Unity back in college but this makes me want to install Godot and try making games again.
Is there anything in this which will make it easier/better to make GUI applications?
https://github.com/derkork/openscad-graph-editor
kind of has me considering using Godot for creating a drawing program....
I wonder the same thing, but with an emphasis on app mobile development.
Godot from project setup to running on my Android is way more effortless/lightweight experience than doing the way of AndroidStudio and/or Flutter stuff.
What I dream of is making a Lua binding for essential godot GUI control nodes using GDExtension and using this LibGodot to own the engine loop, so I can do all the app code in Lua.
So, I may have drifted away from your question, but the point is that I love Godot for gaming, and I can handle GDScript plus the engine editor, but for writing a complete application I would want to develop in my language/editor/ecosystem of choice.
In that sense, LibGodot(plus GDExtension) may help indirectly developing GUI applications by letting people own Godot in their ecossystem of choice.
The future of cross-platform toolkits for graphical apps is Godot ("GDTK"?), instead of Electron?
They just added docs for how to best achieve GUI apps.
https://docs.godotengine.org/en/latest/tutorials/ui/creating...
I'm working right now on an app in Godot to support a tabletop game. Their UI framework is pretty nice IMO. It really helps that the editor itself is made in Godot, so they have a lot of real usage of their UI system already
They made improvements in visualizing margins for Margin containers. A small but very useful enhancement.
I don't know about the new features, but you could definitely make a drawing program in Godot already. There are a couple really good RPG map-making tools in Godot, and that's basically a drawing app where your brushes are trees and buildings
Love the workflow focus in this release. 2D animations/hitboxes and terrain creation was tedious enough that I built a tool around it—draw, animate, export to Godot if anyone needs it. It also now become a full game engine!
[1] https://www.youtube.com/watch?v=mBLFv5R8jJI
[2] https://craftmygame.com/
Does anybody have tips for running Godot on KDE Plasma + Wayland? I tried 4.0 and an earlier 3.x release from the store but both hung shortly after startup. Maybe need some Wayland argument, will check.
From Archwiki:
Godot runs on Wayland using Xwayland, which causes a variety of UI issues, when not running in single window mode. [1] To get around this, start Godot with godot --single-window, then open a project, and enable single window mode in the editor settings.
This issue has been resolved in Godot 4.1.1. [2] This issue seems to have recurred in Godot 4.2 [3]
With Godot 4.3, Wayland can be used natively. [4] There are two ways to do this:
The above only makes Godot's client to run under native Wayland, but games still run under Xwayland. In order for games to run under native Wayland, go to project settings, click on "Display Server" at the sidebar, and at the option "Driver.linuxbsd" select wayland.
https://wiki.archlinux.org/title/Godot_Engine
Cheers, that worked! 4.6 is working great on Wayland. I created a new .desktop shortcut pointed to Godot_v4.6-stable_linux.x86_64 with argument "--display-driver wayland". Working flawlessly, thank you.
Never had any issues, using the Godots (sic) version manager from Flathub, and custom built versions from git. Something’s wrong on your end
With all these editor improvements, we should now be waiting for someone to realize that a soft fork + a thoughtful plugin-based architecture using the original as a base means that lots of the effort that has gone into Godot's (snappy) UI could be repurposed and make for better web development inspector/debugger experience than using browsers' own built-in tools.
A "native" text editor, style properties viewer, profiler timeline, (and more, e.g., animation curve editor), instead of the ones we've got (like the one in Firefox, that they wrote in React[1] where you can see visible, whole-panel flicker when the UI repaints itself every time the cursor blinks)? Yes, please.
1. <https://firefox-source-docs.mozilla.org/devtools/frontend/re...>
I really want to experiment with Godot but Unreal keeps giving me free assets....
https://kenney.nl/assets has a LOT of public domain assets for use if you just want to experiment with the engine.
https://itch.io also has a lot of free assets as well.
Another excellent source is https://quaternius.com/
For 3D, the return of in-engine inverse kinematic nodes (SkeletonModifier3D descendants) has been a big deal for me.
The old 3.x system was a mess, so it was dropped in 4.0. The community filled a lot of the gaps in the meantime, but having the new system (in-engine) is great.
I've been working with it for a few weeks from git master, and everything just works as I expect. It definitely needs some more user-level documentation, though: if I hadn't been following development, I don't think I'd know what everything does, and if someone were new to IK generally, it'd be hard to get off of the ground.
Shameless self plug: I was tired of the limitations of Godot with Claude Code, so I made Ziva[0]. In addition to just writing Gdscript and shaders, it interacts with the rest of the editor via MCP, all without leaving the Godot interface
[0] https://ziva.sh
They're still quintupling down on their sad Python-lite clone language and toy inbuilt text editor, what a damn shame. Still no way to avoid GC in C#. Godot had real potential, but they continue to insist it is a playground for learning about game development, rather than a tool to release a real game. If a fraction of gdscript and editor manhours had gone into real engine development, it would be better than Unity by now.
Agreed 100%, C# is obviously a second-class citizen and I'm not going to waste my time with GDScript. It really is a shame because there are so many things to like about Godot, but the litany of issues with C# support due to their focus on GDScript has just soured the whole thing for me. Unity is just not an option as far as I'm concerned due to their bizarre licensing fiasco (and their own mountain of technical issues). So it's Monogame/FNA for me I suppose.
> I'm not going to waste my time with GDScript.
The GDScript hate is so odd.
If you know any scripting language you know GDScript. How much time are you wasting when it takes one afternoon to learn? And nowadays it even has gradual typing support for those that are scared of dynamic types.
I have seen C# devs coming to Godot being super prejudiced against GDScript and then end up using GDScript anyway because it is just more pleasant to use.
13 replies →
Did you check out Stride? https://www.stride3d.net
I'm developing a game in Godot using C# and my experience with it is very good. I guess it depends on how deeply you integrate with Godot. I try as far as its possible to write my game headless. My opinion may change when I have gotten to the point of actually shipping a game though, so this take needs a grain of salt.
1 reply →
Very true. While I believe there can be a place for a language tailored specifically for gamedev, GDScript certainly is not it.
C# support seems to have been added reluctantly, because the prospect of attracting unity devs was to good to pass on. But then they switch over and realize it is treated like the ugly stepchild and the hope is that you will just use their scripting language to avoid the friction.
And don't get me started on using GDExtension for other languages. Claiming C/C++ is available as a scripting languages in the same sentence as GDScript is a joke.
I'll look into Libgodot, maybe it's an option.
that's not been my experience at all. I've found that Godot works exceptionally well with C#, and I've felt zero pressure to use GDScript. It integrates really well with Rider too, which is the C# IDE I use. Even when there's places online that use GDScript examples, they tend to translate pretty much directly 1:1 to C#.
1 reply →
Can you please elaborate why you think C# is not really well integrated into Godot? I'm using it myself and it seems fine to me. There's quite a community around Godot + C# check out https://chickensoft.games as well. FWIW the Slay the Spire 2 devs also seem to be happy with Godot + C#
5 replies →
My philosophy has always been “ergonomic scripting or drop to C++”, so I’m quite okay with it.
C# has always felt a bit clunky to me. It’s nice to have alternatives.
[dead]
So use Rust instead, Godot supports bindings via FFI: https://godot-rust.github.io/
I wont claim it works flawlessly, but you don't have to use GDScript or C# to program Godot.
You can also use C++, Go, Java, Typescript, Zig, Scala, Kotlin and Swift: https://github.com/Godot-Languages-Support/godot-lang-suppor...
I was able to hack together a toy game with godot-rust several years ago, and it had some rough edges but I was able to integrate Bevy’s ECS with godot’s editor and rendering. I’ve loosely followed its development since then, and the roughest parts seem to have been smoothed out. If it’s important to the dev, they can absolutely use rust
Is the GC in C# actually that much of a problem? Slay the Spire 2 is made with Godot + C# and the devs seem to be fine with it. Of course, it's probably not a computationally very demanding game but still the GC in C# does not seem to be a problem there.
I don't know about it's use in godot but it's obvious it's not a problem to shipping a good game
https://unity.com/blog/games/games-made-with-unity-2025-rele...
Yes it is a big problem. StS devs cannot write normal C# code, you have to really work around the C# integration to avoid lag spikes. See my other comment GitHub thread. There's also things like this https://github.com/godotengine/godot/issues/86926 and that the underlying types aren't compatible (Godot collections) that make it clear they aren't serious with the C# support.
The other huge problem is the terrible external editor support, it does not work well at all. This means your vim, jetbrains, whatever muscle memory from a lifetime of professional dev work becomes useless, and you have to use a gimped text editor worse than notepad++. You can use an external editor, but then lots of things don't work very well, scenes get randomly corrupted, hot reloading doesn't work, etc. It's many issues like this that prove Godot's only priority is attracting and entertaining people who have never written code before, instead of making an engine viable for shipping games.
I gave Godot a real chance for years, but at the end of the day it's a toy. There's a good reason that there are barely any games using it, and they're all extremely technically simple; surprisingly, that reason is not an unsophisticated underlying engine, but rather a million DX papercuts that a good ambitious developer would just never accept.
6 replies →
Miguel de Icaza of Mono fame has a whole video on how C# was a "multi billion dollar mistake," and is working on a Swift Godot package.
https://www.youtube.com/watch?v=tzt36EGKEZo https://github.com/migueldeicaza/SwiftGodot
(I've had some fun dabbling with Swift Godot but all of the documentation seems to be a bit out of date)
As a current C# web developer I think C# is amazing. I know multiple other languages (Java, JS, Python and others) fairly well and none of them measure up to modern C# in my opinion. Visual studio is trash though.
2 replies →
It has been used for pretty successful games on steam