+4 votes

Hi there. I'm pretty excited to have C# in Godot; static typing gives me peace of mind and I just generally really like the language. But I would also like to start working in Godot now rather than waiting for C# to be done. Will GDScript and C# have any sort of interoperability so that I can gradually port scripts that are already done?

in Engine by (19 points)

1 Answer

+2 votes
Best answer

You'll be able to use both at the same time, so you can port your scripts to C# one by one while keeping the rest in GDScript.

by (1,945 points)
selected by

I am very concerned about the news about C#. Akien, Godot in Linux will depend on Mono?

Only the Mono version, which will be distributed separately from the GDScript-only version. (i.e. one build with the mono module, one build without)

Do I understand correctly, will be supported 2 version Godot, one with Mono and one without Mono?

The dependence on Mono in Linux - is very bad.

Yes. The main version will have nothing to do with Mono.

I'm a little concerned about this FUD regarding Mono. Some of Linux's best games are XNA ports. What's so bad about Mono?

The main issue that I can see is the Microsoft patents that loom over its head like a sword of Damocles. Microsoft has made a "patent promise" not to sue Mono users for infringing their patents, but that's still a bit... unsettling.

You'll find quite a few Linux and free software users very wary of a Microsoft technology with such patents; the open source world has a peculiar relationship to Microsoft, and though they seem to be more friendly to open source since a couple of years, the "embrace and destroy" strategy is still a threat. Whether this fear is justified or not, I can't judge - but I understand the caution.

As for Godot, as long as we're not made to be dependent on Mono, I don't see any issue. Best case, everything goes well and we're happy with our Mono version; worst case, we drop the module and continue with the other languages we already have and intend to keep.

Also as a Linux packager, I can tell that (at least the open source ones) Linux games (and other applications) relying on Mono are a real pain to package and maintain. In my experience the Mono stack is as unfriendly to packagers as Java; that doesn't make it a bad technology per se, just not one I want to fiddle with too much :P

Mono on Linux is a foreign body. That nothing will ever change because in this technology there is no important need. Very often, Mono is removed from the PC after the OS installation. Dependence of Mono for programs in Linux - it does not Bode well. Based on this discussion of patent policy or discuss the positive qualities of Mono - meaningless.

Is there any particular reason C# is being supported in Godot? For example, will C# be more performant than gdscript? Or maybe Godot is trying to lure disgruntled developers away from Unity?

Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read Frequently asked questions and How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to [email protected] with your username.