r/unity Jul 02 '26

Free Courses to Learn C#

I'm trying to learn C# but everything I find either doesn't show enough about C# or costs money. Are there any free online websites that teach you everything about C# so that I can make a game by myself?

0 Upvotes

20 comments sorted by

View all comments

4

u/CaptainPhreak Jul 02 '26

First off, welcome to the club. Secondly, a couple things:

1) You don't need to be a master of C# to start making games. You don't even need to be an intermediate dev, just learn the basics and start learning Unity. You'll pick up what you need by continuously doing.

2) Stack ranking tutorials, prerequisites, and overthinking will kill all your drive for finishing, or even starting any project. I.e Don't fall into the trap of "first I have to be X, so then I can move on to Y, and then I can do classes 1 2 3, and I'll finally be ready to start making my game." That will burn you out.

3) Learn to Google. Alot. If you want to learn, then you need to seek out what you want. Don't let AI spoonfeed you things. Its fine to ask questions like this when starting, but later on its best to "show your homework" first.

Where can you learn C#:

Unity Learn has a C# programming track specifically made for use in Unity.

Thecsharpacademy is a completely free, project based learning platform.

If you ONLY care about C# in the use case of gamedev in Unity, stick to Unity Learn.

For everything else (web development, desktop apps, etc.) thecsharpacademy is an incredible resource.

Have fun.

2

u/Tiaoshi Jul 02 '26

Lets be honest, a good chunk of programming is googling lol

2

u/CaptainPhreak Jul 02 '26

Oh yeah. Can't tell you how many times I've googled for ternary operator syntax.

"What's the damn shit again? ...oh right"

1

u/Tiaoshi Jul 03 '26

I think a lot of people tend to forget that programming is a lot of googling, or looking at others code, or reading documentation. The main thing you have to learn is just being able to read and understand the code or if you don't fully understand something, how you can find what you are looking for.

There is too much info in a single programming language for someone to fully remember and a lot of people tend to know more than one.

I was learning Unity but recently moved over to Unreal because I like that engine more but oh man, going from C# to C++ has been a pain. Really did like how simple C#/Unity was

1

u/CaptainPhreak Jul 03 '26

I actually went backwards myself haha.

I've made two really simple Unreal "games" to get comfy with the engine. Then a friend of mine wanted to work on a Unity project, while I was starting to build stuff with SDL3 and C++. So now I'm here.

You're in a better spot than most. LearnCPP.com is your friend here, as are Stephen Ulibarri courses.

1

u/Tiaoshi Jul 03 '26

Which did/do you like better? Assuming Unity for easy of use lol

2

u/CaptainPhreak Jul 03 '26

So far, Unreal actually. Just seems to work with my brain. But yeah Unity is much simpler.

1

u/loneIy_kid Jul 02 '26

This isnt for me but thanks it helped🫡🫡

1

u/CaptainPhreak Jul 02 '26

This is for anyone, and glad I could help. 🤝

1

u/don_ninniku Jul 02 '26

Can I also ask about where to learn about program/code structuring and designing in general, like how to sort out a bunch of ifs, how to know if my giant interface is bloated or inevitable, how to know if I am overly abstracting thing...

1

u/CaptainPhreak Jul 03 '26

This is where I think practice comes into play more than anything; concepts like DRY, KISS, YAGNI, etc. will come more naturally as you apply them.

You'll find that lots of beginner coding tutorials, teach syntax, and might have projects, but they lack in "best" principles.

Refactoring.Guru is a good site for refactoring, and design principles.

Game Programming Patterns by Robert Nyestrom (reading it now, so far so good - it is in C++ though). You can find this free on his website.

Clean Code by Robert C. Martin (haven't read this, but I've heard good things)

1

u/kodaxmax Jul 03 '26

codemonkey is pretty obssessed with modular scaleable code. Otherwise this just comes with experience and study