Pure Garbage

  • There are full examples of complete games on the Launcher under the Learn tab - both for C++ and Blueprint. You can’t really get better documentation than that. Some of them form the basis of a lot of very big games made in Unreal.

  • Engineers have better things to do than write documentation - and for that reason, documentation will always only ever cover the most basic topics. I’ve been using UE4 since day one, and I don’t think I’ve ever once looked at the API docs for example. If you want to use C++ effectively, you should get comfortable with navigating through a huge codebase (get a copy of Visual Assist X or Resharper to make life easier) - which brings me onto my next point:

  • Unreal is a HUGE codebase and a MASSIVE toolset. You cannot jump from a different language in a different engine, and expect everything to translate. If you are new to Unreal Engine, you ***MUST ***start in Blueprint. Not only will it teach you the API faster than any documentation will, you will get an understanding of how Unreal’s architecture expects you to build things, and where to look when you need something. Blueprint is an essential part of the UE4 workflow, so you should spend a lot of time using it anyway.

  • It’s also worth bearing in mind that C++ is a language with no safety barriers. If you write invalid code, you will crash. That’s not a fault of Unreal, that’s just how C++ is. I don’t really understand the notion of “Unreal C++ is a mess”, because it’s anything but.

  • Don’t use Hot Reload, frankly it needs to be removed from the engine and I wish Epic would do it sooner rather than later. You can’t make changes to class layouts or constructors using either Hot Reload or Live Coding (well you can, but there are limits). If you want to remove a class, you need to close the editor and recompile - that being said, you’ve got into a bad workflow if you find yourself needing to rename/delete C++ classes all the time. You should have a pretty solid grasp of what you want to do before you put hand to keyboard.