How should I learn Unity and C#?

I’ve attempted learning both Java and Python, but I eventually just stop. I’m someone who enjoys doing mathematical equations as long as I know what’s going on and logic puzzle. I like to be creative and make things. I have every quality of a programmer and I had a passion for it. I’ve always thought, ever since I was around 5, that I would become a programmer. it just seems like what I’d be really good at. However, things started messing up a couple of years ago. I tried to learn my first programming langauge, Python, from a book and while I had fun when I made programs that did cool stuff like temperature conversions, I eventually just stopped. I got bored from looking at the book and copying over code to make lists and other basic stuff. I gave it another shot a year or 2 later, but it ended the same way. Last year, I started learning Java by making a Minecraft mod. I went a long time doing that, but then my mod turned into something I was serious about and wanted to get incredibly far, but I couldn’t do that since I was inexperienced with Minecraft modding and Java. So I just decided to hand the mod over to somebody else and focus on learning Java. That did not last long. Like Python, I got bored from looking at a book or pdf about syntax and how to do things like making words and assigning variables and just stopped. Sure, I learned a lot from making the Minecraft mod, but I barely knew anything about Java still. After that I kind of gave up on programming. I just thought it wasn’t my thing (I am taking a Web Design (HTML) class in school right now, though). I picked up my Python book a few months ago going against me saying I’ve given up on programming and the same thing happened again. It just feels right for me to make things through programming, despite what’s happened. A week or two ago I downloaded Unity and now I’m attempting C# and Unity.

What I’ve realized from the past is I seem to learn programming best from making things. I just can’t seem to get myself to learn from looking at books. I really don’t want this attempt to Unity and C# to fail, but I don’t know how to prevent this. After downloading unity I kind of instantly went to making a first person parkour game (isn’t really working out very well since I don’t know how to do anything) from tutorials, but I need to take baby steps. I just don’t know how to take baby steps without getting bored and giving up. Where should I begin? Should I just do every "How to make [insert game type] in Unity] tutorial I can find to build up knowledge or will that not work and I need to take another approach? What do I do?

before you start learning unity learn the basics of c# unity uses its special “blend” of c# that is very similar to the real thing so start by learning the original “uncut” version here are some tutorials on pure c#

if you don’t want that and just want to learn unity here are some resources

here are unity’s official tutorials on everything from scripting to interface basically everything unity is here note! you do need some basic knowledge on C# such as functions int strings etc. for example you cant start learning math without knowing what 2+2 is :stuck_out_tongue: if you know the basics than jump into unity
or you will find it very difficult to know what to do and will get confused very easily. and yes at first it will be boring but nothing feels more rewarding than your first block of code that moves the player or just changes a objects color :smiley:

https://unity3d.com/learn

once you know the basics of C# and unity start by making some simple games practice makes perfect especially in game development i know this first hand it’s been a year since i started learning C# with no previous experience besides a month of javascript and at first it was very intimidating but after a while it became very easy to program in unity so conclusion don’t start by making AAA games start simple and build from there learn the basics experiment and you will master unity.