Finding it Hard to Learn

Hi, I’m Andrew. I’m a 16-year-old kid that’s been playing games for as long as I can remember. I’ve always loved playing games, even with the ones that don’t entertain me. I’ve wanted to work in the gaming industry ever since I was around 12. It’s been one of my dreams to work with one of the big companies like Bethesda, Ubisoft, etc.

But, enough with my backstory, the important part is my problem I’m having. I’m very new to using unity and coding and I know it’s going to take a while to learn, however, I feel like I’m not learning anything at all. I use many resources to look up things I don’t know and watch videos on things I want to make. But, I always end up just copying down the script and not learning what anything means. I know that I should be trying to change things around and personalize them to really learn, but I don’t know how to. Every time I see a line of code I don’t understand what it’s doing or how which also means I don’t know how to personalize it without completely breaking it. Usually, when I ask questions and get answers, the answers tend to confuse me as well and they end up making me even more confused with everything.

I don’t want to give up on game development, because deep down I truly believe I can learn how to do it and succeed, but every time I try to make a new project in unity, I end up getting frustrated because somethings not working and when I try to fix it the answers don’t help. This leads to me giving up on it and getting even more frustrated at myself for that.

So, I guess my main question is, how do I stop myself from getting frustrated and actually learn how to fix something that doesn’t work?

Modifying other people’s code is in many ways more difficult than writing your own. People write in different styles, and you don’t know what they were thinking when they wrote it. They may also be using more advanced or obscure language features than you’re used to seeing in beginner tutorials.

But just starting, you do have a long road ahead. It took me at least a year to get really comfortable in Unity, and I already was ok with C# when I started. Learning both at once from scratch is no easy task.

I’d focus more of your efforts on learning the C# language, and less on getting things done in Unity. Write more of your own code, and copy less from other people. One aspect I found difficult at first is references to custom classes, and how you end up with this spiderweb of references to classes with more references, to other references, all of different types, etc, etc. I worked on it long enough, and eventually it all clicked. The official Unity Scripting Reference then makes sense, other people’s code makes more sense. But there’s no replacement for experience, you have to actually write code and see what it does enough times before you build up an understanding of what you actually need to write in order to get things done. Keep at it, and you’ll start making progress.

3 Likes

I’d suggest holding off on game development for now and first learning the core fundamentals of object-oriented programming:

  • Encapsulation
  • Abstraction
  • Polymorphism
  • Inheritance
  • Composition
  • Interfaces

As well as some general programming concepts:

  • Data structures
  • Reference types VS. value types
  • Memory allocation
  • The “stack” & “heap”

Much of development in Unity is based around assuming the user knows these things, and the official Unity tutorials do not really go in-depth on what they are & how they work.

Here are some beginner-friendly resources if you’re interested:

1 Like

Thanks for the tips from both of you guys, I’ll make sure to take them into consideration and check some of these things out. This is going to help out a lot.

2 Likes