Understanding the engine

I was doing research in relevance with creating your own game engine in order to understand the inner workings of a game, but we all know that the endeavor is huge and if out there is an already developed engine that is well documented is worth looking at.
Some questions:

  1. Is there a way to study the Unreal Engine and to arrive at the inner workings of the engine in order to understand it from bottom-up?
  2. Is there documentation in this regard?
  3. Do you need to study the previous versions of the Unreal Engine in order to understand the Unreal Engine 4?

Thank you for taking the time.

  1. source code
  2. source code
  3. no

Pages like this one can also help: