I want to make video games with Unity, so I need to learn C# as my first programming language. Most video tutorials feel too fast and skip basic terms, which makes me feel lost. I understand that learning a language involves practicing, not just watching lessons, but I'm not sure how to apply that approach to programming.
So far, I've mostly copied code. For example, I followed along while an AI helped build a calculator, but I didn't really understand or write much of it myself. What's a good way to move from copying tutorials to actually learning? Which tools, courses, books, or creators explain C# slowly and clearly? Should I start with a different game engine, or is Unity's complexity something I simply need to get used to? Is feeling this confused normal for beginners?
5 Answers
The official C# learning materials from Microsoft are a solid place to begin because they explain the language directly and include exercises. A beginner-focused book such as The C# Player’s Guide can also provide a more structured path. Whatever resource you choose, pause often and type the examples yourself instead of only watching them.
Learn the fundamentals first: variables, conditionals, loops, methods, and basic data structures. Then immediately use them in tiny projects. Don’t start with an RPG or a full platformer; make something as small as a moving object, a simple calculator, or a game where an object collides with a wall. Increase the scope only after each small project works.
Unity adds a second learning curve because you’re learning C# while also figuring out scenes, components, the editor, and all the different panels. It isn’t necessarily the wrong engine, but starting with plain C# console programs can help you understand programming without the engine getting in the way. Once the basics feel less mysterious, return to Unity and build very small prototypes.
Using examples isn’t automatically bad; the important part is what you do afterward. Close the tutorial and recreate the program from memory. Then change it: make the calculator handle negative numbers, add a new operation, or deliberately introduce an error and diagnose it. AI can explain an error or clarify a concept, but if it writes the whole solution, you miss the practice that actually builds skill.
Feeling confused and wondering whether you’re cut out for programming is extremely common, especially during the first several months. Programming is largely learning how to stay with a problem you don’t understand yet. If you keep building tiny things and investigating your errors, the gaps gradually become familiar instead of frightening.

That makes sense. I’ll try a few small C# programs first, then come back to Unity instead of trying to learn the language and the editor all at once.