Hello programmers! I came across a really useful website that offers online courses for a reasonable price. www.udemy.com is a great resource for students and has many thousands of courses to choose from.
I bagged myself a really awesome course on using the Unity games engine for £30. View the course here: Unity course. This course has hundreds of in-depth tutorials on how to use Unity and would probably take you a good couple of months to complete, providing you spend a couple of hours a day on it. What I like most about it is it actually teaches you C# and shows you how to integrate scripts in to Unity. I needed something like this for a game mechanic I’m bulding for work experience. I hate that moment in programming where the logic is in your head, but you don’t know what to type!
Using Unity is so easy, however scripting in Unity is a slightly different story if you have never used the engine before. You really need to learn the pre-defined functions Unity has to offer, the additonal classes that are needed and what they do and really how to make objects communicate with each other.
In C++ this is as simple as passing pointers and references around, but in Unity it is implemented or coded slightly differently, albeit you’re doing the same thing.
So if you don’t know anything about how the game engine comes together, when it comes to scripting you will struggle. Not with the logic, but with the actual code. This is one of the most suckiest parts of programming, in my opinion. It’s like trying to program using OpenGL without knowing anything about it.
However, with the help of this course, I’m very quickly learning the Unity engine and C# combined (always great to learn a new language!) and my progress and knowledge of Unity is improving at lightning speed.
So if you want to learn Unity and haven’t used the engine before, check out the course (above) and you will very quickly be able to make some awesome games!
I would recommend you have a good knowledge with programming things yourself before you learn a games engine though. For example, in C++ you should be at a level where you completely understand pointers, references, memory management, design patterns, OOP and everything in-between. You should be fairly advanced in at least one language and coding should come naturally, to the point you no longer have to think about it. Reason being you might pick up some bad habits or get too used to using an engine and then struggle with the logic of pure hard-coding. It would be like learning how to code backwards and could confuse you massively. Always learn how something is built first before you use it- just a tip- it works for me and helps me learn much faster!