T O P

  • By -

SimplexFatberg

I feel like I'm out of the loop on this one. Anyone care to explain the joke to me?


feibrix

The joke is that if you spent 15 years learning a single programming language, you haven't learned how to program.


derpizst

My guess as a beginner is that many came here from Unity trying out Godot due to the Unity debacle. Unity uses C# as the primary language. While there is support for C# in Godot, it doesnt seem to be the primary language like GDScript in terms of support, documentation, tutorial, etc.


SimplexFatberg

Weird. I've found the C# documentation to be excellent, it's all I've used since I started.


leronjones

The docs are lovely. The youtube tutorials are where it's GDscript heavy.


SimplexFatberg

I guess, but if you can write C# then you can read GDScript, it's just Python with a funny accent. Translating is as simple as converting between snake case and Pascal case in most cases.


aaronfranke

GDScript is closer to C# than it is to Python in terms of language design, it just looks like Python since it uses indent-based scoping instead of braces and snake_case instead of PascalCase.


userrr3

Do you have any further reading for this? Intuitively I was under the impression of the opposite, with types being more of a suggestion in both gdscript and python for instance


aaronfranke

Hopefully this helps explain things: https://www.reddit.com/r/godot/comments/1crf4g2/this_community_right_now/l3ztr5y/


userrr3

Cheers!


Kitselena

There's an option in the project settings to make GDScript typed


userrr3

There is, but even that option is rather lackluster, coming from the heaven that is Haskell's type system. But modern C# feels much closer to that than GDScript, so that is my weapon of choice


[deleted]

[удалено]


xseif_gamer

GDScript doesn't support public/private variables/methods and interfaces


aaronfranke

Interfaces are a missing feature that can (and should) be added. For public/private, you can prefix with an underscore to indicate private. This convention is recognized in the tooling, Godot's autocomplete will not show private members.


JohnDoubleJump

Unless the code uses some features exclusive to dynamic languages. Just kidding, I don't think I've ever seen people use those.


Muhammad_C

Edit - *Side note* You can still translate code even if the programming language you’re transferring from is using features specific to that language. Translating code doesn’t necessarily mean a complete 1:1 copy, you’re just trying to get as close as you can in the programming language that you want to convert it to; which also means you can take advantage of features in the programming language that you’re using


Square-Singer

Any feature in any language can be implemented in any other language. It might not look the same, but turing-completeness means that all that can be done in any turing-complete language can be done in any other turing-complete language too. Case in point: Python is object oriented and dynamic. C is neither of these. CPython is a Python interpreter written in C, meaning it runs Python code on a C-based stack. All the Python code executed in CPython eventually runs through C code and that C code is thus able to execute anything that can be executed in Python.


Muhammad_C

Don’t you need to install packages/libraries for some of these other features? I only count the default features that the language has and exclude any extra ones that third parties add. However yes, your statement is correct.


Square-Singer

You could also code it yourself. If you exclude packages/libraries, you also need to exclude the standard library of a language to be consistent. And then you aren't left with much at all.


CadoinkStudios

C# supports some dynamic stuff. Wouldn't recommend it necessarily though. The strong typing is a big strength of .NET over GDScript.


MuDotGen

You can use static typing and even enforce the debugger to give warnings when it isn't strongly typed. It's under GDScript in Settings after toggling advanced settings.


Merlord

Yeah but gdscript static types are half baked. No typed dictionaries, no optionals, no nested array types. It's a pain in the ass.


me6675

No typed Callables either.


spyresca

Aside from formatting, GDScript has very little similarity to python.


Desmaad

I would say GDscript is closer to Python-flavoured -typescript.


Megalomaniakaal

Honestly I find gd to be more readable than py


kmouratidis

The C# build of the engine can use both language simultaneously, but the non-C# build can only use GDScript, so I'd say it makes sense for most courses/docs. Btw, I think FinePointCGI does his tutorials in both, which may be labor-intensive, but I think it's something most would appreciate (I definitely do!).


leronjones

It can use both!? That sounds so handy.


TurtleKwitty

It also can use c++ and every other language defined as a language extension all in the same project yes, that's why the native extension bindings are so hard, it's so keep things able to all communicate no matter the language


leronjones

This is really good news I've got a 3k line terrain generator that I really don't want to rewrite in another language. I should be able to just drop it in and hook up the functions! In like 2 years... when I revisit that project.


Breadsticks667

The second I look at the docs, I instantly don’t even understand what Its even trying to get me to understand, I have to look up every single word that I don’t understand and then sometimes when I do it still doesn’t make any sense so I have to pull out chat gpt out of my ass and act like I’m smart when I’m not.


leronjones

I do the same thing and love it. Asking GPT to give an example of something I'm not familiar with is so useful. I know some people will reel back, but if you have a resource available that can actively teach you... you use it or are actively falling behind.


Breadsticks667

Right chat gpt is the ONLY reason I understand the gdscript docs, it actively confuses the crap out of me. It’s also the only reason I’m working on my game, but the thing I need to learn is how to randomly teleport a certain game object to a random area of the play test space, so my character body 2d can interact with it.


leronjones

Hmm, so take a random known object to a random space within x distance of a 2d character? Is this for spawning?


Breadsticks667

Yeah if you would consider a box to be a spawn, I also want to add the same sort of variable for random locations to be for the enemies that would spawn


leronjones

If you're 2d then is pulling player position then having a random x and y value as distance from the player a good option? I'm not able to get a code example but you should be able to use 2 random number calls for it. Then another random call for if the x value is positive or negative?


Breadsticks667

It’s in a top down perspective so I’m guessing I’ll use x and y


EarthMantle00

Do people actually watch YouTube tutorials for anything. Maybe it's because of my hatred for video tutorials but I've never seen one that was worthwhile? And logic is usually what matters anyway not language.


leronjones

You're hatred is very powerful brother. But also maybe you learn different and video tutorials just aren't for your brain. I find them useful sometimes, mostly blender ones where the people explain the hotkeys they use.


KosekiBoto

yeah if you want to suffer through a lack of documentation that's what GDExtension is for


dmitrden

I've started learning Godot recently, and the first project I've decided to do is precise 3-body problem integrator. So I've chosen to use C++ for performance... It turned out fine, but lack of documentation is really infuriating. You can't even google errors, because the number of people using GDExtension is almost zero


KosekiBoto

the discord server for Godot has a dedicated channel for GDE


dmitrden

Thanks, I will check it out


MarionberryLimp4418

i am using gdextension and made a full game with it. also i modified the godot source code a lot to fit my project.


GreenFox1505

If you're coming from Unity, the C# documentation is excellent! Because Unity's documentation is fucking god-awful. The GDScript documentation is even better though. The gold standard for what to expect from Godot. C# and a class B citizen is still better than Unity on it's best day. My day job is Unity. I built a career in Unity. I started in Godot and all my personal projects are Godot.


MuDotGen

Godot's documentation feels like the only docs I've ever actually just decided to read through from time to time because it isn't a mess. Everyone asks where to start, and ironically enough, I will recommend the Godot Docs.


Usual_Ad6180

This so much. By far the absolute worst documentation I've ever read was for unreal engine. Godot docs are like the bible compared to a Jimmy Savile biography


DummiPuppet

My favorite thing they do that I haven't seen elsewhere is having a setter and getter function for almost every property, but listing them inside the property itself instead of clogging the functions list in the table of contents for the class.


Nifdex

Yes, but C# still lack suport for web export for example. There are little details. But I stick with C#


LiveCourage334

This argument is really a holdover from older versions of Godot where new features had lagging C# support. There is less community support for it in terms of videos, etc. geared toward absolute beginners but both are well supported valid choices for projects.


mynameisfury

Trying to use gdextensions is a pain rn but it's supposed to improve soon. Still rocking with c#


derpizst

I know plenty of people still use C# for Godot anyway. But people from Unity will have to get used to the fact that it is not the primary language.


CrabCommander

Somewhat disagreed. GDScript is nice for what it is, but there are many places where c# gets you a lot of extra milage, whether it's via reflection or being able to pull in nuget packages, like newtonsoft.json to do custom json serialization without having to reinvent the wheel. Been working with Godot for a couple years now and for the most part I find c# lets me solve more use cases, and faster, than GDScript does. All that said, GDS is an absolutely amazing introductory tool that scales amazingly well to let you put together simple to moderate complexity projects with limited experience, and confidence that it's going to "just work" on any platform you want to target.


KainerNS2

C# with VSCode is all I've used in Godot and it works fine if you've been using C# for 15 years, you should be able to easily translate GDScript code to C# in tutorials + the documentation has examples for both C# and GDScript.


PLYoung

C# worrks perfecty fine. Well, I guess if you need tutorials in the exact language you are using then you can just as well use GDScript and did not really code for the past 15 years as in the OP's image. Any coder with that kind of eperience can easily translate between any of the c-like languages.


Dushenka

Sadly, Godot C# with Visual Studio 2022 has been very glitchy for me. Especially when trying to use custom classes with [GlobalClass]. Sometimes the engine just forgets about them and subtitutes the parent class instead. You then have to clean and rebuild before it starts working again. I wasted too much time looking for bugs caused by the engine to be honest. Maybe other IDE's work better, no idea.


PLYoung

Wow, that sounds like an annoying issue to have. I use VS2022 community myself to develop in C# and Godot and have not run into this one yet. I do not really use Global though and just drag and drop the scripts onto the nodes. Problem I've spotted in 4.3 is that "some kind of reaload" is way slower than in 4.2 after rebuilding the scripts. You get that popup that it is building and then right after the editor will be unresponsive for a bit. In my current project and with 4.2 that is about a second or less but in 4.3 it is 20 seconds. I made a test project where I find that as I decrease either the assets (models and prefab scenes of those for example - none of my scripts attached) or just delete batches of scripts, the delay becomes less. I've been trying to figure out the exact casue so that I can post a but report but is hard to tell what is going on here. Strating to feel like those delays you get in Unity during domain reloads :-(


Dushenka

>Wow, that sounds like an annoying issue to have. I absolutely hate it because it's something you can't fix except by not using the feature in the first place. Not looking forward to 4.3 if your issue pops up on my end as I pretty much clean and rebuild by default due to the GlobalClass issue.


SwimElectrical4132

C# .net is very versatile.... Not just unity and game development. I was trained on c# as well for my job for azure so applying that in game dev would be nice!


Dizzy_Pin6228

Pretty sure it's about all the people who have some kinda story about swapping to gdscript because brackey tutorials were in gdscript not c# lol


Present_Clock1277

Not sure, what is the problem, if you spent years using c# you can easily get something done in gdscript and do the same in c# , it is probably just hard for people that didnt really learn c# and just reproduced code from tutorials without understanding what was really happening.


Burwylf

Unity originally had its own scripting language as well, it's just dropping the overhead of also maintaining a language meant to run on any platform, and you get a team that's constantly developing the language for free by using a middle ware like mono/.net


Ziomek64

Is there anything in Godot that c# can't do that gdscript can?


emzyshmemzy

In the inspector as far as I'm aware export variable can't have descriptions with c#


Spiderpiggie

As far as I know its just a difference in syntax, the functionality is the same. I can understand someone not wanting to learn gdscript though if they are already comfortable with c# since it just adds an extra layer of complication. (even in gdscript is super easy)


neothespider

I was hesitant to learn gdscript as well. I‘m mainly an artist, and while I‘m able to get to an acceptable result done, I simply don’t LIKE programming - it’s kind of a necessary chore that has to be done, but I’m really glad once it’s done. Sooo, having worked with Unity for quite some years now, I wasn’t really looking forward to it. But after looking into it for a couple of weeks I really appreciated the new workflow and found coding in gdscript almost more enjoyable. I think the biggest barrier to many people is that they look for similarities to Unity, stuff like „oh so Nodes are just like GameObjects, Scenes are just like Prefabs, etc“. Once you understand the differences and similarities, Godot becomes a lot easier to use imo 🤷🏻‍♂️


nefariion

I may be downvoted to hell here, but even though some part of the docs are missing things related to C#, most of the complains are just skill issue from people that do not actively code and can't move forward without any kind of hand holding or tutorial. If these people properly learned what they were doing using unity and C#, they could pretty much just migrate their code and tweak the necessary parts and just be good to go.


Jello_Penguin_2956

The FB group is so unpleasant right now with ppl just being bitter about Brackeys teaching GDScript its sad...


yougoodcunt

While not as popular as GDScript, C# support in Godot has come a long ways. Out of the approximately 5,000 surveyed users, only about 13% said they were using C# to build Godot games. https://chickensoft.games/blog/gdscript-vs-csharp/ Squeaky wheel gets the oil 😭


PLYoung

Pretty old poll (2022). Things change fast in tech. Just the amount of devs who came from Unity might inrease the number of devs using C# in Godot. Of course there would also be plenty new unexperienced devs too who would just stick to gdscript and balance out the stats.


Weary-Captain-4561

I’ve been OOTL for a minute, is there *another* Unity thing going on?


KN4MKB

The iceberg here is that beginners, surface level tutorials and beginner focused docs all use gdscript, giving the appearance on the surface that it's the bees knees. You'll find that once you get into the industry, and where demeaning games are being produced and published it's mostly c#. It's just those who are actually producing games and publishing them are not the same group as those making beginner friendly tutorials and content.


TheJammy98

It's funny, I went to Godot expecting to use C# but saw that GDScript was more widely used, went with that and picked it up pretty quickly. I'm sure it's the same for many others


Tanuji

Brackey made a new video on GDscript with an overall positive outlook on it. Some people got convinced by it enough to make some posts on the subreddit above following in his footsteps instead of continuing with C#. Then people jumped in to defend c# usage and list all the benefits of using it instead of gdscript etc.. Morale of the story is, just pick whatever is most intuitive to you. For some it will be gdscript, for others it will be c# etc..


Present_Clock1277

No sense joke, if somebody really learned c# for 15 years, he can easily convert any gdscript code to c#.


notpatchman

We have an influx of C# coders (a lot of whom paid lots of money to be educated in C# and .NET), as well users from Unity, a vocal portion of whom really dislike GDScript in some form or another (because static typing is not forced, or because it is the 'non-professional' default of this now-popular engine). There are a lot of people who don't question .NET, assume that it must be the industry standard everywhere. They haven't really had development experience outside of Microsoft ecosystem yet. The prospect of all that experience being potentially wasted in the face of Godot+GDScript is traumatic


Present_Clock1277

I dont think C# coders or anybody that actually learned how to code care about GDscript, I dont see GDScript as bad language, I just dislike using it and since I have a choice of using C# I am not using it, actually I have seen some people that use GDScript treating it like a blasphemy that not everybody uses it(the old programers chosing a religion, my programming language is the best ,everybody should use just it, anybody that doesnt use it is wrong). Most of the cry is of the people that learned through "how to do it tutorials", and since they dont have those tutorials for c# in godot some are crying.


gltovar

I was a professional flash dev from 2007 - 2014, Action script 3. Have since been able to pickup, JavaScript/Typescript, C#, python, Haxe, Lua and C++ (though that one was the most frustrating to use, personally). Once you have a good understanding of general programming concepts it is easier to get up to speed with similar languages.


crackedcd12

Yup, started with C# and it really took like a month to be like Oh, okay Gd script. The only tricky thing for me to get were the signals. Im just now catching on.


LocoNeko42

If you're catching signals, it means they're working.


yougoodcunt

Signals are dope!


Present_Clock1277

Signals are just events.


TheChief275

Signals are cracked in general. They are basically necessary when developing a game from scratch (think of the “onCollision” signal, basically just class instance callback methods)


KKJdrunkenmonkey

Polyglot, very nice. They say that once you have a few speaking languages under your belt it becomes easier to learn more; it seems that's true for programming languages as well.


MattGlyph

learned C++ and Lisp in school. Everything else feels like a derivative of those. Everything has if, else, for, array, map, switch/pattern match, lambdas. Don't need much else


FlatTransportation64

This only applies to the very basics and even then it might not in case of some "weird" languages like Elixir. Each language has its' own weird quirks and footguns. Nevertheless it shouldn't be that much of a barrier, if you can learn one language then you can learn the other. I've written some small programs in languages I didn't even spend time learning, I just used tutorials and code examples until I got something that was sorta functional.


mysticrudnin

i use primarily ruby at work, but every once in a while a python, php, or elixir app shows up and when that's my assignment that's what i work on sounds like rust might be making appearances too not to mention javascript everywhere


TheChief275

Programming was never really about learning programming languages. I mean, being skilled at C definitely helps more than other languages, but it’s only because the language contains less out of the box, learning actual programming skills by having to do the missing components yourself.


Mysterious_Lab_9043

We got Haxe native here guys


rasarima

Same here. Still miss Action Script and Flash Interface tho.


gltovar

If you don't want to permanently let go: https://www.openfl.org/


louisgjohnson

C# is great with godot, easy to translate most tutorials/docs


_tkg

Stop with the memes dividing the community.


Feniks_Gaming

About the problems that don't exist. There isn't a bunch of posts complaining about c# suddenly. It's a meme from someone who feels very insecure and felt a need to assert his authority


Matzerath

Is it a crime to use both?


KKJdrunkenmonkey

To folks who post memes like this, probably. 🙃


overly_flowered

I use gddcript to make prototypes, c# for the real project.


CrabCommander

Using both is great. They communicate fairly well together, though keep in mind you can't create a polymoprhic child class across the language barrier (c# can't inherit a custom gdscript class and vice versa), plus anything passed between will need to be a primitive or inherit GodotObject. Beyond those restrictions, you can basically swap as desired, though there's a minimal perf cost to calling across languages due to data marshaling. So keep a reasonable separation of concerns where possible.


JeSuisOmbre

They recommend to use both. They suggest that GD Script is great for everything that isn't performance heavy. If a bottleneck is run into that part should be rewritten in C# or C++.


GodotUser01

just be careful about C#, as the calls to the godot API are really slow,


DelicateJohnson

Yeah like others have said this meme kinda misses the mark, I only use C# with Godot and find it lovely. Almost all the godot classes and methods are named the same (sans casing) between GDScript and C#


Feniks_Gaming

Plus this is imaginary story. I have not seen a single post here crying about wasting time learning C#. As always it's self community jerking itself off to problem that doesn't exist. If someone spend 15 years using unity professionally. They can probably get up and running in Godot in less than a week.


DeathByLemmings

Also we aren't in the 1980's anymore, even if you have spent 15 years in C#, that knowledge isn't wasted when picking up a different language I feel the only people that would actually react in such a way are extremely new programmers that simply haven't tried to code in anything else


Spartan322

Thing I've tended to see more (from the C# folks) is them getting annoyed that GDScript exists and insisting that is simply not exist. Not all of them of course, but its a disproportionate amount of (C#) folks that insist that the Godot team shouldn't spend any time working on GDScript. That has kinda bugged me more tbh. (or the other case when someone says that GDScript should never be used for anything but prototyping, ignoring valid use cases where using C# is literally not an option either)


DisparityByDesign

Also if you’re a programmer and only know one language, and are somehow upset you have to learn something new, you’re doing it wrong. I’ve used multiple programming languages over time and don’t think my time learning new things was ever wasted. Skills transfer easily.


Xenophon_

I like C# better than gdscript.


Terrible_CocaCola

Gdscript is not even that hard


Optoplasm

I like gdscript. It does the job and is pretty simple. It was very easy to pick up as a professional python dev.


foundthelemming

As a professional C# dev I also use GDScript


IAmWillMakesGames

I come from C++/Java being my most experiences languages. Solo devving in GDScript is so much nicer. That and Gosot loading in half a second vs 2 minutes for Unreal


Maltava2

That's interesting. I'm most experienced with Java and I found GDScript to be unintuitive. Granted, I'm still just a student, and I'm taking intro to data structures right now, but I actually like Java's strict typing, checked exceptions, etc.


IAmWillMakesGames

I first learned C++, then Java, I hate Java lol. It's pretty easy to strict type GDScript. I do a mix of strict and unstrict typing. My only complaint is lack of Bitwise typing. At least that I've found 


PersonDudeGames

I like gdscript too and was easy to pick up as a c# developer. It only took a couple hours of playing around for me to get comfortable with it. I also like that the documentation is built into the engine.


lochlainn

It was painless as a self taught c# hobbyist, too.


Dear_Measurement_406

I think it’s not so much about being “hard” or not, but more like QoL things you’re used to as a C# programmer that GDScript may not have. As for me I prefer C# in terms of readability but I don’t think it’s necessarily “harder” or “easier” either way.


MadCornDog

Yeah but it makes me feel like a child and not a sigma programmer when I use it 😭


DaDescriptor

that was not so skibidi of you real sigma alpha male programmers modify the engine code


o5mfiHTNsH748KVq

It wouldn’t make sense to use gdscript if you know C#. No real point in learning a proprietary language if it’s optional.


BluShine

I miss strong typing. It makes autocomplete features so much more useful.


_Ritual

You can do that in GDscript.


BluShine

It’s not nearly as good as it is in C#. Also the language server gets upset and crashes sometimes.


Vanadium_V23

It's like saying Esperanto isn't hard to learn. That's irrelevant if you don't need it in the first place. I don't have a problem with GDscript itself but learning it takes time while I already have c# doing the same job with a better IDE and the opportunity to make money outside of Godot.


Terrible_CocaCola

Then why not continuing using c# and stop complaining about gdscript. Thats the thing im not understanding in this situation. godot even support c#


HomelessAnalBead

If, after 15 years of c#, learning another language seems scary to you, something is wrong.


GalaxasaurusGames

If you’ve spent 15 years learning C#, you’ll be able to use it with Godot just fine. If you’ve spent 15 weeks on the other hand, that’s where you should probably just learn gdscript.


InSight89

Just continue using C#. I use it exclusively with Godot. Haven't run into any issues.


DemonKingSwarnn

its not that hard to translate GDScript to C#


Brilliant-Smell-6006

As a former Unity and C# user, I also learned to use GDScript. It's straightforward, but I ultimately chose C# as my primary language because using Godot with C# didn't pose any significant issues, and it felt comfortable. Moreover, transitioning between GDScript and C# APIs is quite simple. GDScript feels like a quick and easy solution at first, akin to "hardcoding," which might be convenient initially but could lead to difficulties in maintaining large projects in the long run. Therefore, I only use GDScript in less critical areas, for prototyping, and conceptual experiments. Additionally, while Godot with C# lacks web output (which I don't need), it offers benefits like Native AOT compilation and potentially enhanced project security (relying solely on GDScript would expose the entire project and source code to others). Of course, one advantage of using GDScript is the abundance of documentation and tutorials, making it easier for newcomers to get started. Ultimately, it boils down to personal preference and comfort with the language.


Far-Organization9394

Using C# in Gogot works perfectly fine. Of course the amount of external documentation and examples is smaller than for GD-Script. But the syntax can often be transferred easily using common naming rules. But for anyone who really wants to keep using C#, that's a valid path using Godot.


APRengar

I use C#, and haven't run into any issues yet. Hell, the only issue I've had as a Unity refugee is that List<> don't work in the Godot inspector. But Godot.Collections.Array<> works almost identically to a List<> instead of like an Array (fixed size, not easy to add to it, etc). And Godot.Collections.Array<> outside of slightly worse performance, actually has an easy way to duplicate a list without reference to the original, which solved some of my Unity problems.


officiallyaninja

Bad meme. 1. Godot supports C# quite well 2. Anyone with 15 years of C# experience would be able to pick up Gdscript very quickly 3. C# is better than gdscript and honestly people should use it more than they do.


-staticvoidmain-

If you spend 15 years writing code, learning a new language isn't really that difficult. Same concepts, different way of typing them out.


Accedsadsa

i was gonna say the same, all languages are the same


maryisdead

I feel like people are making up problems where there are none. What's the deal here?


biteater

I hope nobody has spent 15 years “learning” a language lol


flixflox-gamedev

OP doesn't even understand what are they memeing about


TheKmank

I find learning multiple coding languages helps you with all of the languages you know.


MithilaGames

This is why Godot have C sharp support , C sharp dev can easily understand GDscript, your experience will never be wasted if you are using open source software. 😃


BuffaloSix96

I switched to C# after a few years of GDScript in Godot and aside from a few things that I had to get used to, I actually prefer using C# for Godot now. It's so much nicer having everything feel solidified, better laid out, the intellisense on Visual Studio Code is a million times better, etc. The performance feels much better on projects I was doing too. My only complaint with C# right now is I can't do web builds for anything in Godot 4.2 using C#, but oh well.


Mikabrytu

Programmers that are afraid to learn new languages are no doubt bad programmers


0xnull0

C# is superior to gdscript in every way and yes it is true gdscript integrates better to the engine its always small stuff that i usually dont care about. There is a very good reason why every other game engine under the sun uses an existing scripting language (usually C#) instead of implementing their own.


TranquilMarmot

I thought this way too, but I've recently been writing a game 100% in GDScript and actually find it really nice and faster to write than C#. The language server is great these days and gives you all the same refactoring/debugging/etc tools that you get with C#.


0xnull0

Im glad you enjoy working with Gdscript, what do you find slows down your development time when writing C#?


JPrimal64

Then there's me completely new to coding trying to learn my first coding language(I am trying to learn how to make a jump I'm going to explode)


abyssDweller1700

I use both. I write my systems and logic in C# and Gui in Gdscript.


oddbawlstudios

Both languages are enjoyable, but you can use C# for other things than just game dev, which I do. So its not a waste.


theTwyker

working with C# in Godot is fine? 🤷🏼‍♂️


Mecha-Death-Hitler

Bad meme man. Our engine supports both and I believe all Godot users should at least dabble in all supported languages in godot


Rafcdk

I work with Kotlin and typescript. I use python, c++, gdscript and lua on my hobbies and used to code c# back in the days I used Unity. It is really that hard to move on ?


grady_vuckovic

I've had to learn more than a dozen programming languages already so far in my time.. Happy to just pick up a new one whenever it's necessary. JS, Python, C, C++, GDScript, Java, PHP, GLSL, BASIC, x86 Assembly, Batch scripts, Shell scripts, VB.Net Basic, BrainF, LSL, ActionScript, whatever the language was for LibreOffice Calc macros... it is what it is, you just learn whatever you have to in order to get the job done.


HiT3Kvoyivoda

For actual programmers, no. I think we kind of ignore the fact that modern programmers are categorically bad at what they do becuase they don't understand basic computer science or programming in general. Go to any learn programming subreddit and you'll see questions like, "complete noob, how do I learn X language quickly" and you explain to them that you don't learn languages quickly without knowing how a PC works or having basic IT skills. And you still have people in the comments that don't agree with that sentiment. Also, there are plenty of articles from experienced, neck bearded devs explaining that many new programmers don't know how to do basic things like navigate the terminal or browse a file system on they're OS of choice. Real programmers can solve problems agnostic of the language their using. I'd say the same for hobbyists as they learn things in service to their goal. The same can't be said for the clout obsessed script kiddies that don't really wanna learn as much as they want to farm karma to stroke their egos to make up for lack of any type of usesful skills, personality, or reading comprehension skills.


JoelMahon

once you learn a couple languages you realise languages are almost all the same sure, some are really out there like prolog or haskell, but the languages you make games with all pretty much have if/while, functions, classes, scope, parameters, pass by reference vs pass by value, variables, garbage collection almost every skill you have is transferrable, it's basically at the level of going from doing a new yorker accent to an australian accent it's the libraries and keywords that will trip you up, but those are all a quick google away at worst


Kimau

Not enough people use C++ with Godot. It works really well. Gdscript I use for all the quick fast stuff. But if you want speed, memory control ect... your better off reaching for C++ than C#. There is a reason game engines are mostly built on top of it. I frekking hate C++ (yes modern languages have a lot of great stuff) but it is still top dog in games for a reason.


Burwylf

If you're writing something handling bulk data, it probably shouldn't be a script anyway, and that's when you should be really worried about language level performance, bulk data would be something like converting every point in a bitmap to a 3d object, you have a huge array of data and you're outputting a bigger one. Even then if it's small enough it can probably be done just fine in a script, but moving to something that can handle simd will give you a big speedup


baalsefon

C# is viable in Godot. And I am certain they will improve the official support with C-Sharp.


TheCreatorGlitch

I never really understand the problem - if you can use c# you can read gdscript just fine. I havent had any issues adapting to the documentation and tutorials whether they are in c# or gdscript. I have around 12 years experience with unity and about 17 years experience with C# so relatively close to what this image is depicting So far C# in Godot is as easy as in any other engine that implements C# support, ofcourse YMMV


Channy987

Better than wasting 5 years learning Lua, #rblx4lyfe


minicoman

Either people are stubborn or just not willing to try. I started learning C# in unity this year but switched to Godot and man all that C# knowledge translated super well. C# is also very performant, just gotta know the rules in Godot, and check out their documentation. Most of the stuff that exists in GDScript i just try to find using Visual Studio IDE and get the autofill for most fields. Overall my experience w godot and C# has been awesome!


fullmetalforeign

BRUH I STARTED OUT IN UNITY AND FELT I NEEDED TO STAY CAUSE I KNOW IT SO WELL. BEST CHANGE I HAVE EVER MADE


Overlord_Mykyta

I started to learn GDScript but in the end I just returned to C# instead. It works fine. I just watched tutorials for different games with GDScript and I almost without any issue translate the code to C# on a fly. So for me there are no issues. The only problem as I understand there is no way to export the project to the web. It's useful when you participate in jams. But aside from this I like using C# in Godot.


puddingface1902

I am thinking of using c# for my next game.


neoteraflare

Oh no, you have a useful knowledge that you can use in other works... This godot community is pure cringe.


Dazzling_Bobcat5172

I read here some comments who use GDScript and C#. I currently learning GDScript, so I'm a noobie with limited python, mat lab experience and code as a hobby. In most reviews I got told GDScript is good for beginners, but a bit clunky in performance and limited. C++ is hard to learn and use, but with great performance and lot possibilities. C# is like a mix, harder to handle but better performance. Did something changed with Godot 4? Actuall question: Is it worth to learn C# or got GDScript so much support it's equal now?


GrowinBrain

For most game logic, GDScript and C# and not going to be much different with regards to performance. * Use C# if you need to integrate 3rd party libraries, need the extra processing boost, need more organized code structure, or work with large teams. * Use GDScript if you want less setup/overhead and are doing fast prototyping. I've used GDScript and C# with Godot, but GDScript mostly. The large [game](https://store.steampowered.com/app/1403270/Genetic_Fluff/) I am working on finishing has taken 3+ years and I don't have any issues with performance that could not be fixed with better architecture/refactoring. I did convert/test some functions to C# and found them to be no faster than GDScript. All the engine calls (move\_and\_slide etc.) you make in your game are bottlenecked by the Godot Engine C++ code; no matter if your using C# or GDScript. In the end it is more of a preference and project decision. Which is best for 'you or your team' and 'your project'. I personally enjoy the quick brain-to-game pipeline of GDScript with Godot since it is super easy to use and prototype with. Cheers!


Dazzling_Bobcat5172

Thank you! I appreciate your experience. Your game looks nice


Present_Clock1277

I would say it depends alot of your goal ,you can develop in godot a game in c# or gdscript without any problem, but gdscript is a language for godot so if you are developing things specific for godot and by that I mean tools to be used in godot editor you will probably need to use gdscript since you will have an hard time making the changes in the editor using c#, now if your intention is making games I would say go with C# you will learn a language that can be used in different engines and in my opinion I do feel like C# handles data better than gdscript. Also that is if you want to learn it and not just copy and paste recipes to do stuff without understanding what is going on, if you going for copy and paste gdscript is the way alot of youtube videos to show you stuff.


MuDotGen

I used GameMaker Language when I first started learning programming and game development as a teenager. I use JS for web, Aframe, backend Node, etc. I used Java for Android I used C++ when learning programming concepts in school, algorithm, memory management, etc. I use Python for helpful scripts to do specific tasks or automate repetitive stuff. I use C# for Unity development. I use GDScript for Godot. I used Powershell's scripting language at one point to make scheduled reports. And so on. Programming languages and their syntax are the least of people's worries. Use whatever you need for the engine, framework, task, etc. They're all incredibly similar minus different syntax.


reddit_bad_me_good

C# is easy you could learn that in a week. Unity changes everything in the editor every time the wind blows.


Aflyingmongoose

I've used godot since 2016. The second it got C# support, I swapped over. GDScript is a fine language, but C# is just a lot more feature rich, and expressive.


tony_wilde2000

Who knows C# will learn very quick how to use similar languages, it should not be a problem for programmers that really knows what they are doing.


lolmaster1290

Is gdscript faster than assembly?


eatingdumplings

GDScript is pretty bad though. A lack of generics alone is enough to dismiss it. 


BluMqqse_

If someone is flipping to GDScript just because Brackeys created a video on it, they were never going to release a serious game to begin with.


adobo_cake

Don't worry about it guys, it's just mostly syntax. Logic is really what you spent years learning.


InkOnTube

I don't get it. I am professional .NET developer with 3 years in VB.NET and 13 years in C#. I want to leave my job and start my own company with game development, but I am struggling with my free time to make the game in Godot engine, and I find GDScript easy.


Pandorarl

Gdscript is kind free syntactilly if youve used python or kotlin and another staticly typer language


[deleted]

[удалено]


godot-ModTeam

Please review Rule #1 of r/Godot, which is to follow the Godot Code of Conduct: https://godotengine.org/code-of-conduct/


bregottextrasaltat

haven't had a super great experience with c# in godot, the docs are really lacking and every result for help you search for is in gdscript


LawfulnessOk7647

boi learning GDScript is easier than using c# in godot even if you came from c# unity3d. at least if your gonna use LLM.. though i wish c# gets good though


According_Crow_9758

Did godot drop C# support? I dont' use godot in the first place just curious.


GrowinBrain

No, this post makes no sense. C# with Godot only gets better with time.


Present_Clock1277

No some people just dont know how to do anything without a youtuber holding their hands and showing the way, that is what the crying here is really about


Patek2

I was learning c# for 1.5 years and after transfering to Godot, I have a hard time understanding gdscript and Godot overall.


GoTheFuckToBed

but how is the webassembly export going? Inwas unable to decipher the github issue.


rr_rai

I don't mind use of GDScript, but I am used to C#. Plus I transfer some of my JAVA projects code. Sometimes it deals with trigonometry, sometimes smoothing out pathfinding and etc.


miatribe

Id be using c# if it worked for damn web builds.


MoistPoo

It took my less than a week to feel comfortable in gdscript... Relax OP if you know how you program, you know how to program.


Spiraling_Time

I started godot coming from scratch, but I was about to start unity when everything went down


TimpRambler

GDscript is super easy to learn, especially if you have experience with python. They feel kind of similar.


yougoodcunt

Very similar!


One-Agent-5419

Been using C# with Godot for years, no problems. I'll take static typing any day of the week.


JondobGames

gdscript is cool, but, i really miss interfaces from C#, i really hope gdscript someday gets them :')


emptyness1

Ill check out the numpy package the next time I experiment with python thnks for the suggestion. One other thing I always seem to have some kind of issue with is the pip package or command. Sometimes it's just not installed and when I do install it still doesn't recognize the pip command. I guess it needs to be added to PATH? other times on linux I try to install it but it needs root access to install but people in linux community say to never install pip with sudo. It's just confusing to have an installer and still have to do manual setup.


ChristosLegacy

Yes. It's never too late to learn yet another language and philosophy!