What kind of magic is used in the C++ power up tutorials?

Recently i went through the updated Version of the C++ BatteryCollector tutorial, and there are two things which are really weird/annoying.
Both of them happen when it comes to use UMG. I wonder how the code in the tutorial is even working.
Here is a link to the episode where UMG is used the first time: https://www.youtube.com/watch?v=jbM4VU8oPYI

Now i have two questions:

  1. After I add “UMG”, “Slate”, “SlateCore” to the BatteryCollector.Build.cs i have to regenerate the visual studio project files, why is this not the case in the tutorial ?

  2. If I use “#include “Blueprint/UserWidget.h”” it requires “SlateCore.h” to be included, why is this different in the tutorial ?

As you see i already figured out how to get this working, but it’s still confusing, that the code in the tutorial compiles just fine. I just want to know how this is possible :slight_smile:
(I’m using VS2015 Community + UnrealVS and UE4.10-2758231)