Hacker News new | ask | show | jobs
by DeathArrow 924 days ago
>.NET support is provided as a dedicated engine executable. C# support is currently only available for desktop platforms in Godot 4. Use Godot 3 to run C# on Android, iOS and Web.

A bummer for me. Maybe they can also work with Google and Microsoft to improve .NET support?

4 comments

I read somewhere that they will completely redo C# support as multiplatform GDExtension. Then there will be one build and all additional languages can be added as extensions. And they can be updated faster, regardless of the editor build.
Godot re-added C# support for Android and iOS in Godot 4.2, not sure where you're reading that since it's not in the link.
That's great news for me. I think they should keep their website up to date.
It's on Godot website features page.
Unless you specifically need a lot of the dot net library (and in this case you can probably theoretically 'just' use a plugin for access) I would encourage you to try gdscript. I went from 5 years of unity pseudo-c# to it in about 2 weeks, and I globally just find it an equivalent if not better experience for the majority of the code base.

Honestly one of my current fears is that they focus on c# integration in place of improving gdscript support (the integrated ide is not specially comfy, and static typing support still lack some feature, collection wise in particular. but nothing really awfull).

C# is a real programming language usable outside game dev, as well as transferable to other engines or frameworks like Unity and MonoGame. GDScript is usable only in Godot.
While this is true most of the structure of the language is taken directly from Python, which depending on your interests might be a little more useful than learning C#. The only syntactical differences I’ve found so far are the additions of var, const, match, how the walrus operator is used, and of course all the nice godot editor specific keywords. The built-ins have almost exactly the same naming scheme, you can still use global functions like len on any collection, I could go on…

I would argue that someone who starts programming on gdscript today would be able to transition into Python with little to no overhead.

Maybe if someone is learning their first language that's a semi-important choice but, if you already know a programming language, syntax doesn't really have a steep learning curve.
No disrespect but judging languages on syntax is a lot like judging a book on its cover. Chosing a language is, for the experienced programmer, a choice of ecosystem, libraries, tools, architecture, and also a matter of long term maintenance, evolution, technical debts. Gscript scores very low on all of these, especially compared to the behemoth that is C#. Only unexperienced programmers and sales people use the "it looks somewhat similar so it must be" argument.
For scripting I've yet to see general purpose (with the exception of Lua) languages shine where domain specifically cannot, instead usually from my experience the general purpose language adds complexity when you don't have certain built in features or structures.
What are your thoughts on C++?
Don't worry, they should be prioritizing C# but for now it is still very much a second-class citizen so your beloved GDScript gets to dictate the inefficiency of the API for more type-expressive languages.
Learn C++, use UE5++ for rendering, all problems solved (and those that are not solved are solvable). People use all kinds of garbage like C# and Blueprint to do their scripting (and more) and then they're wondering how is it possible that the performance of their game is hot garbage. Bring back higher barriers to entry in game programming!
I know C++. I prefer using C#, though.

And I am not working as a game developer anymore, so I prefer a lighter game engine when doing small projects.