How much studying should I do regarding C++?

This post was on topic at first, but I added some additional tips since they might be useful.

C++ within UE4 is obviously the same language as regular C++, but the frameworks and libraries tighten things up to the point that, since you already have a CS background, doing non-UE practice problems might not be the best use of your time. (Since you won’t be practicing with the libraries that you’ll actually use.)

UCLASS and UPROPERTY, among other things, come from the reflection system. Read up on it, it isn’t too crazy concept-wise, and it makes communication between the engine and C++ run smoothly (and you can sometimes leverage it for neat things).

UE4 has it’s own smart pointers which you may or may not use often, depending on what type of code you’re writing.

UMG is the graphical tool that lets you do drag-and-drop UI work. It’s backed by a C++ framework called Slate. If you ever need to do custom UI, you’ll probably have to sink a good deal of time into figuring out how Slate interacts with UMG. The source code is a life saver for this.

Speaking of the source code, make sure you get added to the Github and use it frequently. With Slate buttons for example, if you got stuck, you could just use Github’s “Find File” feature and look at how things are implemented in the SButton class. Between this and the API reference page, you could solve a lot of problems on your own.

Whatever you can’t figure out, that’s what these forums and the AnswerHub are for.