Where is the beginning class for our to read the Engine source code

I really want to read the engine source code from base to all.
Does any one know where is engine’s beginning code or class?

and are there any order to read the unreal engine’s class or part?

Thank you very much!
Can you recommand some important class for read.
and where is the unreal build tool’s code start^^

There’s totally no such thing as a code start.

But i guess you should be starting with tool/engine startup code and go further and further once you understood initialization process. For engine you actually should start by studying Core and CoreUObject modules first.

Regarding the startup code, for engine it’s located in Launch module; for UBT - in UnrealBuildTool.cs, in Main(…) function.

The majority of the main loop is implemented in LaunchEngineLoop.h and LaunchEngineLoop.cpp, specifically the FEngineLoop class. That being said, this is not the best place for you to start learning about the Engine, because this code is so low-level that you will likely never use it (see also my Quick Orientation for Coders.

The vast majority of UE4 code that you will write will be on a much higher level of abstraction, i.e. the Game Framework. You will sub-class classes like Actors, Pawns, Controllers and GameModes. For a quick overview, check out this Game Framework Overview. We also have an extensive Starter Guide for Programmers, as well as a larger number of Training Videos for Programmers.

The source code for our build tools is in the Programs folder of the Visual Studio solution, specifically UnrealBuildTool and UnrealHeaderTool. Check the Build Tools & Infrastructure Presentation for a high-level overview.

Thank you very much. I have been read most of high level class. and I think I need to read some unreal build stuff that is important too.

I was also looking for the low level UE4 source code where it all starts. Thanks for the answers. My belief being that the OP probably just wanted that to study how UE4 is made, not necessarily to make changes to the code; it’s a good way to learn how such a software is written and where to start.