Hello! I'm a self taught game dev. I started with JavaScript, but then switched to Unity/C# about 7 years ago. I just downloaded Godot, and saw that there were two options. I chose the one for C#, and I'm wondering if there are any huge reasons not to go with C#, instead of learning a whole new language scemantic.

I assume most tutorials are in GDScript? I could probably convert them to C#, but are there any major drawbacks to using C# vs GDScript? Or is there a performance or memory reason to go with GDScript instead of C#?

Thank you, I'm excited to start my adventure with Godot. I met someone at the GDC booth this year(sorry I don't remember who), and they were very fired up about the direction Godot is going, and hope to help people and learn as much as I can along the way.

  • xyz replied to this.

    BunZaga C# is faster but GDScript is somewhat better integrated. If you feel at home with C#, stick with it.

    Use GDScript first to get a feeling for the engine and of what to do and what not to do. Basically learn to walk before you try to run.

    Hey, don't forget there is always a third option: GDExtension in C++ 😝 Haha, but of course I am not recommending it for any prototyping or simple game logic. It is mostly usefull if you need to add some heavy operations and you worry about performace or you need to expand engine features.

    Personally, I just went with C#. It felt at home. I can easily read it, write it, adjust it.

    I am pretty sure there are drawbacks to using it instead of GDScript.

    "I assume most tutorials are in GDScript?" I'm working on the tutorials from the website in the panel section. It actually has Gdscript/C#/ and C++ code.

    The biggest issue have had so far is that page in external editor doesn't seem to sync with GODOT all the time. Hence probably why people say to try Gdscript first. I'm using c#.

    Ok awesome, thanks for the responses. I think I'll give the C# version a go, doing some tutorials today and see what happens!

    You can mix GDScript and C# in a project. That is, write some scripts in GDScript and some in C#. So you can experiment with both and see what you prefer.

    I got through this tutorial:

    There are some minor differences, but was able to figure it out. 😛 Mainly because I was using the Rider plugin which had auto complete so made it a lot easier. The main three drawbacks I see so far is:

    1. No use of @onready(which isn't that big of a deal, can just assign things in _Ready)
    2. I have to right click and "open in external program" any time I want to edit a script
    3. Every time I save and go back to Godot, it gives me a warning that there's a potential cyclical access going on.

    Aside from this, a lot of it was pretty easy with a few guesses of what something would be called or how I would put it in C#.

    /cheers