Cannot compile Engine from source with VS2017 if VS2013 is also installed

Simple as that. -2017 parameter does not seem to be passed in all cases (generally if i see “Generating makefile” in the output log, it means it has stopped caring for -2017, and will start using v12.0/cl.exe instead of the 14.1 toolkit. So if i regenerate all project files and clean all the stuff, i can get UHT to build if i just build that project, but as soon as i start to build UE4 it will do the generating makefile thing and ignore -2017, using vs2013 cl.exe which means that UHT wont build because of vs2013 not liking the TArray of TUniquePtr in UHT .cpp file.

I would be ok if i could build with either 2017 or 2013, but UE4 does not want to cooperate, also where is the post formally announcing deprecation of vs2013 ? Because i cant find it anywhere

A workaround to get it compiling NOW is to change the order in UEBuildWindows.cs function GetDefaultCompiler after the comment // Second, default based on what’s installed, test for 2015 first

of course, for proper usage, it REALLY SHOULD pass the -2017 flag properly to the makefile generator or whatever is ignoring it right now and just using the default order.