I’ve been coding (for years) in opengl and I decided to try programming in Unreal, however, every tutorial I find on the web seems to not care that I have a fairly good knowledge in C++ and in rendering techniques already.
They all assume I’m new to the world of game programming.
Unfortunately Epic Games documentation of C++ APIs for UE4 is more than lacking … most APIs are completely undocumented and it is far from clear how to use them. The only way to do it without documents describing everything properly would be to inspect the many millions of source code lines files manually and many things change for every new version too with new APIs, new classes and deprecated ones which makes that a real nightmare.
I can’t believe that Epic Games doesn’t have full APIs documents for everything, I can’t see how any of their programmers could mantain the code without proper documents. Even if you work continously on a project if it is a very large scale one like UE4 then it is just impossible to remember everything and if you don’t have documents to quickly re-check things then coding is practically impossible. The reason wny they don’t put full documents about C++ APIs online is unknown, unless the access was restricted to large software houses only paying the expensive custom license… otherwise I really see no reason why they don’t release everything.
It is very hard coding in C++ properly with UE4 due to the lack of documents.
They do provide source code for the engine. IMHO it is well documented and “self documented” in the code. I know probably others don’t feel that way. This is based on years of experience working with other software, shrug.
They also provide lots of examples but mostly in blueprints.
If you convert one of those BP only project to a visual studio one, you can right click on the blueprint elements and select “Goto Code Definition” and then you kind of have a C++ version of the example.
You mean the BluePrint to C++ automatic conversion feature ? Well, that is not the true C++ version of the code anyway. And it still quite beta with many issues being reported on the answerhub.
And no, having the full source code which is made of many millions of lines of codes is not being well documented at all. Unless you would seriously tell that searching thruout millions of lines of code would be quick and easy just to understand how some methods and classes work and should be used… it can take weeks or months. Something that anyone working on a game can’t afford unless it’s a large software house with money to waste having one or two programmers searching 24/7 the code to create its own documents on how things work.
Proper C++ API documents are needed. And I can’t see how Epic Games own programmers could manage the millions of lines of code without that either. Why they don’t release everything to the public that is the point. It is just impossible to mantain millions of lines of code without writing full documents of what does what and what references what when you have thousands of classes, millions of methods and variables everywhere.
Managing API docs for the entirety of the code base would be nuts - and the documents would be so hefty you’d be no better off looking in them to find anything than looking through the headers anyway.
UE4’s code is somewhat self-documented and it isn’t hard to navigate, since most things are kept within logical project and use sensible standardised naming conventions. If you don’t even know what classes you’re looking for, let alone functionality, you can usually even guess the name.
Short answer: No. Long answer: You don’t need it - do the basic tutorials to get yourself familiarised with Unreal concepts, terminology and methodology, and from there just get stuck in. If you’re already moderately competent with C++, you should be fine. Just be aware that UE4 is a bit macro-heavy, so you will need to get used to using their macros all the time in gameplay orientated code.