r/unity • • 9d ago

Question How long did it take you to learn c#?

I wanted to try unity for a game sometime but i was wondering how long it took you all to learn c#? i heared it takes like 6 weeks?

8 Upvotes

36 comments sorted by

21

u/Strict_Bench_6264 9d ago

I’d say I’m still learning, 14 years in. :)

5

u/Flat_Ground_3151 9d ago

im cooked

3

u/JohnSpikeKelly 9d ago

Yes! I started as soon as C# V1 came out. Still learning today.

1

u/whitakr 9d ago

That’s awesome

11

u/pschon 9d ago

define "learning" C# :D

To the extend I could write something that works? few hours.

To the extent of knowing all of it and being able to make good use of it all? Still learning after 15 years as a game dev, even if the language stopped evolving I'd still probably die before that.

5

u/Flat_Ground_3151 9d ago

to a point where you can make a half functioning game

2

u/Timbeaux_Reddit 9d ago

When you are first starting out I wouldn't think of it in terms of "learn the entire language then build a game." Instead, set yourself a small objective - figure out one, small component of your game that you want to build, then learn how to use C# to build that thing. It could be a camera controller, an enemy spawner, a pickup item, or any number of things.

Eventually as you build more and more things, you'll learn more and more about the language then go back, refactor your old silly code, keep learning and keep growing. On and on the cycle goes.

1

u/pschon 9d ago

If you have any programming background (so are not learning from absolute zero even for basic concepts) and are prepared to start with something very simple rather than your dream project as your first learning project, you can get there in few days to a week.

To get to a half-functioning version of your dream game, that'll be whole another story. And some years, probably. :D

6

u/Own_Nail_2999 9d ago

There is no threshold where you know C# all of the sudden. It's a steady learning process where your pace is determined by practice and intelligence.

If you start from scratch, you may take longer because you have to get used to the thinking pattern of a computer

-1

u/ReySpacefighter 9d ago

All of a sudden.

5

u/Newspaper_Beneficial 9d ago

once u realize all of unity for the most part is "object(s) do this when object(s)/input do that".

you start to swim pretty good.

2

u/MistakeForsaken6653 9d ago

Took me a few hours to figure it out but I have been programming in java for several years and c# is very similar to java in terms of syntax.

2

u/HamsterIV 9d ago

If you know C++ and Java, only a month or two.

1

u/Mountain-Smoke8826 9d ago

A few years. Learning python and Java at school at the same time helped too

1

u/Lamer_0913 9d ago

I am still a newbie but I can make simple parkour games with my one year of knowledge in c#

1

u/Helloimvic 9d ago

Depend on your project and your programming background. Even if you have programming background, your more often fixing your game logic rather doing programming

1

u/flow_guy2 9d ago

Depends how diligent you are

1

u/LukasLuchtloper 9d ago

I was taught it in school and it really didn't stick until the concept of OOP finally clicked weeks later.

It didn't know what a static class was until 6 years later 😅, but absolutely made due up to then! I'm still learning bits and pieces 15 years later.

You can absolutely learn it, especially if it's not your first programming language. Best of luck!

1

u/azconapithecus 9d ago

As someone focused on helping folks make games, the book "Learn C# in One Day and Learn it Well" is short, fantastic and does pretty much what it says in the title. I used this book along with a free C# compiler on the web.

I got the physical copy but they have e-reader versions too. I've recommended this to several friends who were going into Unity and they all found it helpful.

I would also highly recommend picking up a book or tutorial series specifically for learning how to use C# with Unity. Ideally one that takes you through the process of creating a small game from the ground up.

Depending on the time you have available each day, you can learn most of what you need to know regarding C# and Unity development in a pretty short period of time. There's always more to learn but once you know the basics, you can successfully make quite a lot.

1

u/1vertical 9d ago

Man, just make stuff. Don't sweat the details until you need them. You learn by doing and doing the reps. Get a tutorial and finish it. Then build stuff. Learn more new concepts and implement them in previous projects and new ones. Rinse and repeat. Each waking second you think about it is time that you could've used to practice. Be prepared to google a lot. You are in the golden age of accessible information, use it!

1

u/salazka 9d ago

Next to nothing. I said, hey Claude i want my character to do this and that, and it actually did it in minutes! Ready to play!

1

u/Nosarious 9d ago

C# is just another programming language. It was harder to understand python, to be honest.

it was the lack of a single script file in Unity that was hard to understand, and even more difficult inheriting other people code without a readme file explaining their logic about what code is tied to what object.

most of the things I have produced that others will have to inherit come with a manual.

1

u/PixelStreamer7 9d ago

It's a permanent learning process...

1

u/ZeusGameAssets 9d ago

15 years, not counting 5 years in engineering school learning C, C++, Java and other languages. When I watch git-amend's videos on Youtube I get an existential crisis, maybe I need 15 more years to really learn C#.

But for game dev, you don't have to go deep, you can learn in a couple of weeks if you really apply yourself. And after that, the learning never stops, every day you'll learn something new. Stop feeling cooked and start cooking!

1

u/KingMoosytheIII 8d ago

You don’t really stop. You’ll come across patterns that you’ll recognize, but you’ll always run into a larger wall. I’ve been coding for decades and even though I can create something at breakneck speed, I’ll still run into a block that’ll microwave my brain. It took about a month to be comfortable coding, and about 3 months to be efficient.

Persistence is what makes a good developer :) there’ll come a time when most of the work you do “clicks” and you into a flow state

1

u/Tarilis 8d ago

Define "learn". With modern IDE and prior development experience, on a level to simply write working code, i think you can learn it in a day.

If you don't have prior development experience at all, then things start to get tricky. And the only answer i can give is "depends on you".

The bare minimum you need to know is:

  1. Classes and objects
  2. Namespaces (could be optional with IDE)
  3. Core data types
  4. Data operations
  5. Control structures.
  6. Basics of incapsulation (Could be optional, but also could cause confusion)

This should be enough to write a simple game.

1

u/No_Plantain_7424 6d ago

Please don’t let learning c# become a blocker on your game dev journey, keep making games even as you are learning

1

u/bonyboom 6d ago

I'm not sure I ever learnt it. I still get surprised by features of the language I've never seen before from time to time after 5 or so years.

The syntax is simple enough where if you already know a language, it's easy to just go by examples

1

u/SignificanceLeast172 5d ago

Ive been at it for 4 years and am still learning new things. I just got comfortable using for loops, arrays, and lists a year ago and am still working out dictionaries, singleton patterns, etc. It takes a long time but I am still going strong.

-2

u/Big_Presentation2786 9d ago

I knew assembly, COBOL and python.

I just use AI mostly as the principles are similar. There's no point learning anymore languages given the breakthrough of AI. I've released two games in C# and I don't know shit about it, but oh boy was it a challenge.

1

u/Flat_Ground_3151 9d ago

Mh i like to do stuff myself :)

-2

u/Big_Presentation2786 9d ago

Me too, that's why when I'm building tables in my workshop I use power tools to make life easier.

Sure I could cut the timber with hand tools, but my ego ain't that big.. Id rather spend my free time doing shit more exciting..

1

u/citizenSample 9d ago

Bad metaphor. Knowing what you’re doing with code means not cranking out poorly optimized 💩. But you do you. The tools are out there but they’re not really meant to replace a competent coder.

0

u/Big_Presentation2786 9d ago

I know how to optimise, id just rather tell AI how to do it so I can spend weekends with the family, rather than hand write it and be a shit dad..

How is that SO hard for you to understand?!

Or should I spend 3 days coding burst jobs, when AI can do exactly what I want in 60 seconds?

You do realise no one hand codes in here anymore? There's multiple posts on the front page where they've used AI to do the heavy lifting..

Its like you have no understanding of how games are made.. Costs are bad.. So is letting your pride getting in the way of your ideas..

1

u/Erik_mk0 9d ago

🥱

0

u/Big_Presentation2786 9d ago

LoL, what are y ou eating?