Deployment implications and differences when using C#?

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By jvincek
:warning: Old Version Published before Godot 3 was released.

I was wondering what are the implications of using C# as opposed to GDScript? My main questions are:

  1. How much larger will the game distribution be (size-wise)?
  2. Will it work seamlessly on all desktop platforms (Linux, mac)? Will there be any additional steps required for C# projects?
  3. Will the C# also feature an internal code editor within the engine/sdk or will rely entirely on external IDEs (VS, VSC, Atom…)
  4. Possibly other questions?

I know there C# support is not yet finished and Godot is (still) made by volunteers, but for new developers which are deciding on which engine to use (or which language if they decide for Godot), there is important information missing regarding C# in Godot. I’ve seen some big commits by neikeq recently so I hope most of these questions can be answered :slight_smile:

I like Godot a lot, but can’t quite get over the “nature” of GDScript. While it is very easy to learn, the fact that it’s dynamically/duck typed and many missing features of the modern IDEs (I primarily work in IntelliJ/Java world) are by far the biggest problem for Godot adoption.

Perhaps it would be best to have some kind of FAQ to collect all the relevant information about C#?

I have the same questions as you since I know C# will be in Godot. I’m not in need of this language particularly, for now I just wait for it to come in an alpha build (first chance for people to widely try it), documentation will follow, and might change with wider audience feedbacks. I think you will be able to use the editor you want (some people already use VSCode with GDScript, so why not C#), I doubt the engine will provide something as complete as VS when it gets released.

Zylann | 2017-09-04 12:52

  1. Will the C# also feature an internal code editor within the engine/sdk or will rely entirely on external IDEs (VS, VSC, Atom…)

There won’t be an integrated editor at first (it’s a lot of work to make a decent C# IDE, and might be out-of-scope for the editor), you will have to use an external IDE.

Calinou | 2017-09-04 14:23

Thanks Zylann and Calinou. Regarding the IDEs I figured that would be the case. Making any sort of code editor is hard work, especially for a language as feature rich as C#. I have no issue whatsoever to use an external program - in fact I’d prefer it if Juan (or anyone else) didn’t “waste” his time on doing that since we already have great IDEs for C#.

But that was a secondary question anyways :slight_smile: I’m more concerned with questions 1 and 2 since I have little experience with C# and especially how it will tie into Godot. I’ve run into some (admittedly old) posts that talk about Mono on Linux and how it’s a bad thing. I know about MS converting Mono to MIT licensing but have no idea how this whole ecosystem behaves on Linux/Mac machines and if there are still some issues there… And how much larger the game will be if we use C# - 10M, 100M, more?

I hate to nag like this but since I’m at a crossroads with my project I’d like to get the “big” questions for C# out of the way as soon as possible, even if the final release of Godot 3 is not yet in sight.

Hopefully we’ll get a preview of C# in alpha 2 and maybe the answer to these (and more) questions as well? :slight_smile:

jvincek | 2017-09-04 19:07

Some update: C# is now merged in Godot’s Git master branch!

Note that, contrary to what I said before, a basic built-in editor is integrated. An IDE should still be used in any sizeable project.

Calinou | 2017-10-28 22:28