• Smorty [she/her]
    link
    29 months ago

    Why are we using C# I stead of C++ for the in editor language again? Inst C++ more compatible with everything? (I know that GDMatice exists, buts that’s a lot more work to use I feel)

    • kevin3kon
      link
      fedilink
      29 months ago

      @Smorty @mac I have been wondering this non-stop since I found out #godot uses C#!

      I know the idea that C++ is the end-all-be-all is an oversimplification at best, but It’s still a decision I’d like to know more about.

      • Smorty [she/her]
        link
        29 months ago

        Godot is mostly written in C++, so it’s such a weird decision to switch languages like that, and expose C# instead of C++ as a game logic programming language. I suppose it was done so that Unity devs would find it more attractive. Unreal uses C++, so yeah, why?

        Also brand bad, so no C# for me, only GDScript and C++ GDNative.

    • macOP
      link
      fedilink
      19 months ago

      The main language is GDScript rather than either of them (although the engine itself is coded in C++). C# support was added on since microsoft gave them money to do it

        • Smorty [she/her]
          link
          49 months ago

          Yeah. Embrace freedom and Foss. Reject Microsoft and C#. Debian User here.

            • Sparking
              link
              fedilink
              English
              39 months ago

              It is in a technicality But the reality is, it will always move at the pace and at the whims microsoft wants it to.

              Thats not necessarily a bad thing honestly. But you can really get i to trouble making it a core dependency for something like a game engine. Unity’s users didn’t care that Microsoft hadn’t posted the runtime to iOS, they expected their games to run on iOS. So Unity did a bunch of dev work that is now kind of a bad investment with .NET 8. This is the core of why they wanted to charge an install fee in the first place.

    • Sparking
      link
      fedilink
      English
      19 months ago

      I get the idea of having flexible options for game devs. Support for systems language for engine internals (C++), hooks for a runtime machien based language (C#), and support for a dynamic scripting language (GDScript) makes sense architecturally. C# is also strategic because XNA to Unity has pretty much cemented its status for game devs. And then GDExtension to provide an api layer for whatever other language under the sun you want to use. It is a very sensible place for Godot to be in.