One of the things I love about game dev is seeing your code in action. Literally! You can program something and see the output of it almost immediately.
Recently, I started learning C# through Unity. There's a few reasons for this. Firstly, it's really easy to see what's happening with the code. You program something, write it up, and hit play. You can easily see what's happening on the screen. Whether it's a box, a character, a ball of fire, or all the above, you can see your code in action. This is one of the primary reasons for choosing Unity.
Next, I'm a bit of a gamer... if you hadn't worked that out already. When working in Unity I like thinking about the code I'm writing and how it applies to the game world. When I was building the weapons inventory, I used the items from my time playing Elder Scrolls Online. This just makes learning way more fun.
Finally, I wanted to learn to use the Unity Game Engine itself. It's a really fun way to integrate programming and design elements. I'm a bit of a PhotoShop buff so I love applying the knowledge from design into Unity. Overall, this is a pretty sweet way to learn C#. If you're thinking of learning C#, Unity is a great way to go.
Okay, so how do you learn Unity online? I've been working through the Unity Courses on Unity Premium. This was available for free during the COVID period but has now jumped back up to a subscription. If you're a student however, you can get Unity Premium through GitHub. Simply sign up to the Student Developer Pack and you'll get access to Unity Premium. This means free Unity Pro - yay, dark theme - and access to all the Premium learning content.
The course I did was the C# Survival Guide. It's pretty good, but a lot of the concepts aren't fully explained. If I wasn't doing this live on my Twitch channel then I'd be so lost. Luckily lots of talented devs dropped in to saved me!
A couple of these lovely souls also recommended the Unity Beginner Tutorials on YouTube.
This guy is great at explaining the basic concepts and getting you up to speed with C#. Both these resources are good places to start. Essentially, you just need to start! If you want to learn some C# or Unity, give it a shot.
If you ever want some inspiration, feel free to join me on my Twitch channel. There's a whole lot of live coding happening and plenty of banter. Drop in and say hi, learn with me, or just hang out with like minded people. It's being around other driven individuals that makes people feel motivated to learn. So why not come join with us, or share your learning experiences in the comments below.
Check out some of the code I was using over on my GitHub repo and good luck with your C# journey. Happy coding.