After going through the tutorials and experimenting I found that the Visual Studio project solution structure varies depending upon which version of the Unreal editor that you use to create the new solution.
In the first scenario, I downloaded the source code for the engine, built it, ran the unreal editor from the built code and created a new “Code Side Scroller C++” project. This created a solution that included two projects; one for the Unreal Engine itself and one for my Game code. The .h and .lib references were pointed to the location of the engine source code folders.
In the second scenario, I just started the Unreal Engine that was installed from the .msi that I downloaded from Epic. When I run this version of the editor and create a new “Code Side Scroller C++” project, the resulting Visual Studio project structure is different. It does not contain a project for the Unreal Engine…it only contains a project for my Game code. In this case, the .h and .lib files are referenced from the install directory of the Unreal Engine.
My question is what is the preferred way to create a new solution if you know you will be adding C++ code? What are the advantages and disadvantages of each approach above?