UE4.17.2 & VS2017 Pro: no compiler was found

Hi !
I know this questions has already been posted before but I’m not really satisfied with the “workaround” and I’m pretty sure there can be some smarter way to solve this problem…

So here it is. I have a VS2017 professional license which works perfectly. I set it up turning on C++, game development, win8sdk, win10sdk, Unreal Engine… Guess I have everything needed.

I installed UE4.17 (days after VS) but when trying to create any C++ thing (projects or file) I get the famous error message “no compiler was found”… How can I get UE recognize my install of VS2017 ?? I choose “Visual Studio 2017” in Editor->Prefs->Source Code but didn’t change anything. I created environment variables VS140COMNTOOLS and VS150COMNTOOLS pointing to the tools directory of my VS installation but I still have the error.
So question is: what does UE use to detect existing installations of VS ? How can I get it recognized without unistall / reinstall ?

Thanks for insights !

I don’t have access to my development machine right now (and won’t have for a few days), but I think (not sure) that you need msvc2015. You can use Visual Studio 2017 for working, but you need either the 2015 compiler, runtime redistributable or both for it to actually work. It’s been a while since I’ve installed it and can’t check, but I’m quite certain that it can be installed through Microsoft’s new Visual Studio Updater/Installation manager tool. I think the package was called “msvc2015” or something similar to that.

Thanks for your reply. I tried to setup vs2015 tools but still have the same errors.
I tried executing vsvars32.bat and it make me realize a lots of VS values were missing from the registry. Even adding them manually so that vsvars runs well, it has no effect on UE visual detection…

So, finally tried at home with a fresh install of UE and VS community proposed by UE installer. Works and run properly first time !

So now at work I have two versions of VS, looks like it sufficient to do what I need for now.