TL;DR: How to study UE4, if I want to control and understand everything and learn only the best practices?
This might seem like a broad philosophical question, but I desperately need a practical advice (backed by a broad philosophical answer).
I’ve been exposed to algorithms and data structures, got used to think about time and space complexity. I also programmed in C and C++ (where you have control over a lot of stuff) and C# (I didn’t get to the really big projects where you have to stop caring too much about the details and concentrate on the “big picture” of architecture and performance).
In other words, I’m used to getting into the details of the machinery I’m using. And here comes Unreal Engine.
It is obvious that trying to understand all the nuances of the engine’s implementation is a road to madness (and failing to develop even the simplest game). On the other hand, many materials and guides out there feel too shallow to me; shouldn’t I be learning only the best practices if I want to be a good UE4 programmer™?
The question is: how should I cope with this passion to control everything? Is there maybe a list of best practices, so that I know I’m not doing anything too stupid in my game development (I started some test projects)? Will reading through the whole documentation (while building games) give me that general understanding of “how things should be done in UE4”, or is there maybe a good book on it?
I’d appreciate any advice.