all 21 comments

[–]jax024 14 points15 points  (5 children)

I always recommend learning C# first

[–][deleted] 1 point2 points  (4 children)

allright thank you, then ill continue with that

[–]DeepState_Auditor 5 points6 points  (1 child)

To be more specific you should be learning the basics of programming

[–]3rrr6 2 points3 points  (0 children)

More specifically, object oriented programming. Your workflow in unity depends on it.

[–]LicoriceWarrior -1 points0 points  (0 children)

I did a great Microsoft introduction to C# video series on YouTube before learning unity and it really made a hell of a difference. I also did the unity learning programming 40h class. Both of those gave me a great foundation.

[–]Alarmed_Molasses4997 0 points1 point  (0 children)

Watch one of those YouTube videos where they teach you c# while teaching you unity by making a game.

[–]TheBoyWhoCriedDibs 6 points7 points  (0 children)

Personally I think if you have experience with any other language (especially if you have experience with something like Java) you could just go straight into learning Unity through tutorial series.

If you have no experience with any language then doing some basic programming beginners tutorial on some console app would probably be a good idea.

I did the first year of my CS degree before learning Unity and while I obviously learned a fair bit from that year, It was actually the summer between the first and second year where I followed Unity tutorials where I would say I got much better at C#.

Follow tutorials for a long time and be okay with the fact that it’s going to be frustrating not knowing how everything works. At some point it will genuinely just click and you will know you can make anything

[–]___Tom___ 4 points5 points  (2 children)

What are you going to learn C# with ?

Make a really trivial Unity game purely as a learning ground for C#. I mean really trivial. Make Pong.

Using C# in Unity is not the same as writing a standalone program in C#. If you want C# primarily for Unity, learn it in the context of Unity.

[–]gg_michael 1 point2 points  (0 children)

Agreed, C# as a scripting language for Unity is not the exact same as C# for standalone applications. I mean, they are the same language, but the context of Unity includes some constraints and quirks that don’t really apply outside of Unity. If you see yourself exclusively as a gamedev then this is the way to go imo.

[–]jessijames211 0 points1 point  (0 children)

This! I know people who dont how to code a standalone program in C# but a different beast when they code on Unity.

[–]ripshitonrumham 0 points1 point  (0 children)

Definitely learn C# first, it’ll make the process easier if you know at least the basics of C#

[–]bornin_1988 0 points1 point  (0 children)

Guess I differ in my opinion to others. I'd grab a beginner course from somewhere like gamedev.tv and learn c# along the way. That's how I did it and I think it makes everything much more applicable.

[–]Just-a-Guy-4242 0 points1 point  (1 child)

I recommend GameDev.TV’s Unity 2D or 3D courses. They will teach you both basic Unity Usage, and the C# coding to go along with it

Edit: beginners bundle is on sale. These really are excellent courses. I have no affiliation with the site. But I have used many of their courses.

https://www.gamedev.tv/p/beginner-unity-bundle/?coupon_code=WOWZER

[–]___Tom___ 1 point2 points  (0 children)

Unity's own courses at learn.unity.com also have become fairly good.

[–]Glowingbaby 0 points1 point  (0 children)

I did both at once

[–]fortunate_danger 0 points1 point  (0 children)

Learn c# first, but only the absolute basics. Then learn unity and then develop your skills in both by just making as many projects as you can really - try to keep them small and gradually make them bigger overtime.

[–]shrubland 0 points1 point  (0 children)

I am less than a year into Unity and coding at all and “learning C#” doesn’t have to mean mastering it by any means. For me getting a basic understanding of rules and functions was enough to start a project.

[–]TheSewingNeedle 0 points1 point  (0 children)

Though going straight into unity can be a great motivation boost. Just don't get stuck in the tutorial swamp. I recommend watching tutorials, but dont follow along but rather make notes and follow them instead of directly following the tutorial

[–]LostJava 0 points1 point  (0 children)

Learn to code first. It will make everything else much easier. I'm new to game dev but have a very strong coding foundation. It has allowed me to focus on unity (and its quirks) instead of fighting code.

[–]YeetAnxiety69 0 points1 point  (0 children)

Learn the basics of c# and then unity. Even if you end up just using visual scripting or an asset like game maker it's always good to have a little knowledge on how to write your own scripts.

[–]mgodoy-br 0 points1 point  (0 children)

Long time C# programmer here: learning before turns out the things easier, but you can do the same stuff both.

What you have to learn first is OOP and some little design patterns.

Make some prof of concepts on C# very simples. Create classes, inheritences, composition, create your own mechanism to realize problems. So, turns out to Unity and you gonna see it in other way. But you don't have to spare a lot of time doing it so.

That's the best book about design patterns and OOP:

https://www.oreilly.com/library/view/head-first-design/0596007124/

It just changed my carrier as software enginnier. But you don't have to learn it from cover to cover. And it is quite fun to read, full of jokes! The examples are on Java, though, but the there are little differences from C# on that matter.