How does the code , engine,editor,game and C# link?

I’m relatively new to the UE4 however I had good experience with UE3 (as UDK)

In UE 3 everything was straight forward: You had a Editor (Built around the engine) that compiled unreal script and managed resources. You made things using Unreal Script and used them in the editor.

With UE4 things changed! I am confused with the technical linking between things

1.I select a blank C++ template from the launcher and it loads up VS , I press “run” in VS and it starts up the editor? what is this behavior? (did I just built the editor?)

  1. I select add code from the file menu in the editor added a new class and then VS says it needs to reload stuff and then when I click ok It says it must stop debugging (the running editor) I click ok and it closes the editor and reloads with new class? What happened to HOT RELOAD? It happened for every class I add using “Add code to project”

3.I saved the project, closed VS and opened the project again from the launcher and It opens the Editor directly!

4.Now When I select add code to project it loads up VS and adds the class However when I click the run button in the VS , It starts a new editor, why?

5.For learning workflow I deliberately wrote erroneous code in the new class and press compile in the editor window and it said compiled successfully! what did it compiled? :slight_smile:

6.I see so many build configurations development editor ,development and what not! what are these?

  1. I admit I am ignorant when it comes to .NET but what are .cs files (I assume C#) doing with project code?
  1. You built for the editor. You play in the editor where you have all your tools around.

  2. Hot Reload doesn’t work when you start the editor with visual studio. Start it by yourself and all is good.

  3. Yes

  4. Because you built an editor build (Your game will start in the editor). Don’t press run only build the project and it will be hot reloaded in your current editor instance and you can play from there

  5. That what you wrote in VS

5.1. Development = for you, Debug = For debugging, Shipping = For release
Some have an additional Editor build which is when you build so it starts in the editor on running.
5.2. They are some kind of buildscript to tell which modules to load and build.

Ahh. That clears my doubts (for now)! Thanks!