How did you guys learn to understand Unreal C++? I'm mostly lost

I don’t know, I’m actually trying to understand the Unreal C++ API but I can’t actually grasp it as I think I should. Most tutorials I follow, in video or written format have the same issue for me, they underexplain many things in the process. It’s like most tutorials are centered around the goal of doing one specific thing (like setting a camera, or those type of things), so they are centered around a particular example, but in the process there are way too many things they assume I know, or just don’t explain and I can’t seem to grasp the API in order to do things myself in a more automatized way as I always do with others C++ APIs. I can’t find good tutorials that start from the actual very basics of the API. Or whenever I do find one, they start from some basics but then suddenly jump to more complex examples that obviously require a lot of functions and classes I don’t know and they go ahead with the example without explaining much of the things in the middle. It’s like the learning curve is interrupted in the middle for most tutorials.

I’m already familiar with C++ and know its syntax well enough (I think), I’m not an expert but I do have a fair understandment of it and a bit of experience with other simpler APIs (like the Allegro one). My problem is the Unreal API itself. For example, the official tutorials often rely on “now add these following lines of code in this part of your project”, they do tell you what the code does in general, but they never explain line by line how each function they call works or why they have the arguments they have, etc. I’m trying to research those functions and structs and classes myself whenever I see them, the same for every piece of unexplained code, also trying to deduce the logic by myself but it’s not that intuitive for me. Then when I try to see each function or class in the API reference manual, it’s not very helpful, most things are barely explained. How can one learn with so limited documentation?

But I don’t want to sound like I’m just complaining, I know there are many people that are obviously experts at this, or know enough to handle the API, but how did those people learn it in the first place? What I actually wanted to ask you with this post is: how did you guys go from my position of being completely lost to the knowledge you have now? Maybe the documentation is fine and it’s just that I’m dumb or something? I swear I’m trying and I’m definitely making some very little progress but is that the way it was for you guys? Learning by grabbing a piece of information here, and another there and then piecing it all together in a slow way with many holes in the middle? Isn’t there a more… tidy way to learn this with a smoother learning curve? Again, maybe this is just me, maybe I’m tackling this with wrong mindset, I don’t know… Thank you in advance.

I didnt have a clue what i was doing until i went through this course. This will start with setting up visual studio and intellisense and then go through all the most important classes and even replication.

And get VAX

I’m fairly experienced with C++/game programming, but with Unreal I’m definitely still figuring a lot of stuff out myself, so I’d be interested to see what other resources people have used.

For the most part, I end up just Googling a lot of different stuff usually with “C++” tacked on the end. If I’m particularly lucky, I’ll come across a good tutorial or a forum post on the Unreal forums. Sometimes I’ll dig around in the official documentation or in worst case scenarios the source code itself.

For some things I’ve also found the Unreal Tournament source code useful ( ), but unfortunately it hasn’t been updated in ~3 years so not everything transfers to the newest engine versions.

As a side note, I’d second getting Visual Assist or ReSharper if your computer can handle it and you can afford it (ReSharper has a free student license). Visual Studio’s default intellisense just can’t handle Unreal Engine, and being able to quickly see what functions a class has is really useful when figuring out how to do something.

lol I’m 6 years in, and I still have a lot to learn…
Unreal is big. Learn as you go, there’s no other realistic way…

@savagebeasty Thanks to you I lost some money and got that course on Udemy. I’m guessing at this time there is some changes to the code but how much?

Thanks to me you lost money?

I used 4.21 even though the course was for 4.17 i think. There was only one part that slightly out of date which was an AI class from memory. By the time you get to that point you’ll work that out in seconds, plus theres a Q&A section for each video and it tells you what the class name change is for later versions.

Aside from that it i cant imagine much else is different, im using the same code in 4.24 and its fine. If you ever come across a function or class that is deprecated theres usually a comment in the code to tell what to use instead.

I have that course. Totally worth it. Udemy has a sale every day it seems. Get it when it is low priced.

+1 this. I also have this course. It’s being updated now for use with a newer version of the engine although I also have access to the legacy course. It’s great for learning Unreal and C++ with it.

What’s your ultimate goal: to be an engine dev? If not, then just to say, there are other options. For example, Magic Nodes C++ (plus Magic Script Nodes in early development). In time, both may mean its unnecessary to go deep into UE4 Source. Plus, Epic were due to announce something at GDC 2020 before it was axed…

Overall, the lack of an integrated environment, the absence of fast iteration matching Blueprints, and working with a more complex syntax can’t be ignored. Epic acknowledge this. Which is Tim Sweeney raised this issue in a prominent reddit thread. Not because game devs asked for it btw (many have been for years). Its more likely the request came from industries outside game dev, that Epic now want to dominate.

UE4 C++ is the mother of all API’s and so for small teams without a dedicated programmer, its a massive distraction from focusing on innovative gameplay. Unrealscript / Unity-C# are arguably a 3-5 out of 10 in terms of difficulty. Whereas UE4 C++ is arguably 9/10. Of course hardcore coders here may disagree. But I would argue that they’re just super talented. After all, its not just about the language, its also the BS of using Visual Studio on a daily basis, from install / version gotchas, to obscure compiler errors, to header file management horrors etc. Game dev is hard, really hard. So the simpler Unreal is to use, the better for everyone…

There’s no such thing as understanding C++, there are just different degrees of not understanding it :slight_smile: Some people not understand it more, others not understand it less :slight_smile:

I recommend: