Why does Visual Studio ask to recompile your game on every "Start Debugging"?

I realize the answer to my question is probably something along the lines of “because UE uses its own compiler which Visual Studio knows nothing about and thus can’t track the status of, and so it just assumes the project needs to be compiled every time” but I thought I’d ask anyway. Because if there is a way to let VS know when the project needs recompiling and when it doesn’t, it’d be awesome.

If you’re talking about being prompted to build but then it just checks and says target up to date (as opposed to actually recompiling anything), then it’s a bug in visual studio which has been around for a few years now I think. So thank Microsoft, not Epic.

There are various suggestions for causes/solutions, just google ‘visual studio project out of date’.

Actually, I don’t have this problem with other types of C++ projects. I’m guessing what’s causing Visual Studio to think the project is out of date is either the fact that it knows nothing about the compiler being used (even though, in the end, cl.exe is being invoked) or that UHT keeps recreating the .generated.h files on every build.