Learning UE4 for an experienced C++ programmer?

I’m an experienced, professional C++ developer looking to learn UE4. I’ve spent a few weeks now going through BP tutorials to try and get a broad view of how things in Unreal are supposed to fit together and want to start digging more into the C++ side, since that’s where I expect to spend most of my time.

My problem is that almost all the resources I can find for learning UE4 are for blueprints and non-programmers. The C++ resources I can find are almost exclusively things like “learn C++ with Unreal” and assume no C++ experience. I’ve seen “The Unreal Engine Developer Course” on Udemy by Ben Tristem recommended a lot, but wording like “learn C++, the powerful industry standard language from scratch” translates to me as “you’re going to spend half your time in this course bored out of your mind.” I really want some resources that assume advanced (or even intermediate) knowledge of C++ with little to no knowledge of Unreal. The little Unreal C++ code I have seen looks very heavy on Unreal-specific macros, so I’d love to see some tutorials that actually talk about what’s going on under the hood with those instead of glossing over it with “just type this in, you don’t need to worry about how it works right now.”

I don’t need any resources to be free, and I’d probably prefer text resources to video (either through a website or a book), but I’m finding it hard to find resources aimed at my situation.

Learn the API, specially the gameplay framework.
Do not use C++ STD unless you need to interface with external software.

You can check source code to see what those macros such as UPROPERTY are doing.

Hello, were you able to find some resources? I’m in the same situation here…

Download the ShooterGame project from launcher and read the source

I would advise to just start a small personal project to test the engine and at each step when you are a bit stuck you just look in the documentation/tutorials.

I was faced with the exact same problem. There basically aren’t that many resources for C++ developers, at least compared to the amount of blueprint ones.
Get used to the fact that every “how-to” will most likely be blueprint centric.
As others have suggested, the best examples of how things are done are found in engine code or example projects, like the ShooterGame one. But there are tutorials about some specific stuff that help a lot.

What has helped me was to do a medium sized project (still working on it) and just picking up stuff as I need them. Adding “C++” at the end of a google search helps often, but sometimes you can’t get around looking into the source code but as an advanced C++ developer that shouldn’t be too hard. Just don’t make the mistake to try and understand/learn everything there is right away and feel comfortable with the fact that it will be a long process and you should be fine! After all, Unreal is huge.

I have also faced a similar problem, here’s what I suggest:

  1. Make sure you know the basics. Learn about the Gameplay Framework, projects, modules etc.
  2. Explore samples as it was suggested above. You’ll find a lot of clues about how to use the engine.
  3. Watch training streams. They had some nice series of in-depth episodes about things like AI, extending the editor etc.
  4. Read the source code. It is the most complete source of information so far.

The main issue with Unreal learning resources is that they are extremely lacking for medium-level developers. If you are a complete beginner there are plenty of nice resources for you. If you are a pro working on a big project that usually means you are working for a big studio and they usually can afford dedicated support from Epic if needed so you won’t have any problems. If you are an experienced developer and you are looking for ways to apply your experience to Unreal… well, you are practically on your own.

As a community we are supposed to help each other and share information (there’s a wiki for it) but in reality people who have learned a lot are often too busy doing stuff rather than writing tutorials or even posting on forums. :slight_smile:

I’ve done that Udemy course even though I was already a C++ programmer. You can just skip the first 2 sections, that’s the part that teaches C++ from scratch. The rest (section 3, 4, and 5) is only Unreal. Sure, sometimes he explains C++ stuff you already know but I just skip past those explanations and watch the video at 2x the speed. There is also a C++ tutorial on the Unreal youtube page called Battery Collector. That may help too.

UE4 has a nice C++ API, but poor documentation. Blueprints has more than documentation than C++. However, you have a pretty large community to answer your questions. First you have to understand the basic concepts like UCLASS, USTRUCT, object construction, garbage collection etc. My advice is to create a sample project in C++ and review the code. Since you are an experienced C++ developer, you will understand the basics quickly.

This is how I learned as an experienced C++ programmer:

This set of video tutorials. Out of date a bit now but you can still get through them.

After that start a blank project doing something simple like battery collecter. Make your own classes for everything and make them do something. Make you own game mode, player controller, game mode, hud, go through the class reference while you do it and look for little things you can add.