Problem: The engine compiles every time we do changes to our project

I just went through the steps you offered here and yes, Project Only → Build … invokes UBT only once and only for the game modules. Build → Build Solution (or F7 by the default binding) invokes UBT for each project in the solution with their individual “Build” command lines.
Thank you for clearing up this issue!

I had a same problem and I can solved that by unloading engine project on visual studio(right click on project folder and click on unload project) so only game project will be compiled and also compile button on unreal engine will work.