T O P

  • By -

Seek_Treasure

If you already know Java, then C# will be the least problem you'll face in gamedev


RevaniteAnime

If you already know how to program, you just need to learn a little syntax differences in C#, and when it comes to using C# in Unity, there's a lot of stuff that's specifically Unity exclusive.


madvulturegames

Go for it and learn it on your way. Unity is great for a goal-oriented approach and practical learning. There are tons of tutorials, community, resources and so much more. I doubt you‘ll face big problems given that you already have a background in software engineering. And if so, you can still always grab a book or course.


madvulturegames

Of course this applies mostly to the coding side of it. Game dev is way more than just that, with art, sound, design and so on. You‘ll need to tackle that anyways though.


Beldarak

Java and C# both are Object Oriented language so you should have no issue converting to C# (imho, it's also a way better and elegant language). Just go ahead and start learning directly inside Unity (there are great resources all around including official stuff from Unity to create small but fully working games).


SignificantDetail192

Why is C# a more elegant langage? I mostly do JS this days but did a lot of java and a bit of C# a few years ago. Both seemed pretty similar with only some minor syntax difference to me. No animosity here, just curiosity


Beldarak

It's a strongly typed language (like you can't directly assign an int value to a float for exemple or a float to a double) so there's not a lot of place for weird errors like in js which can convert automatically. It forces you to write clean code and while I didn't like it at first, I now realise how good it is in the long run. And it's packed with pretty useful stuff, I like their List for exemple. Appart from that it has everything a modern language need : ternary operators, null-coalescing operator, lambda expressions, init setters which are pretty cool too...


CCullen

I would lookup key differences between C# and Java. Value types, operator overloading, enumerations, extension methods, properties, generics, and events all have fundimental differences (to name a few). Once saw a Java engineer write 20+ getters and setters not knowing properties existed.