I noticed that UE4 is looking for - at least on my PC - for the following folders where it expects devenv.exe:
v14, C:/Program Files (x86)/Microsoft Visual Studio 14.0/Common7/Tools
v15, C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/Common7/Tools
However, my installations of Visual Studio 2017 are under:
- C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional
- C:/Program Files (x86)/Microsoft Visual Studio/2017/Community
There was no devenv.exe under C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/Common7/Tools
So all I did was to rename BuildTools to BuildTools_backup and then copy Professional to BuildTools (they all have similar content). Works like a charm.
How did I out about this? I looked at the Source Code and ran UE4 in Debug Editor mode. In SNewClassDialog.cpp row 1013. Using UE4 4.18.3. FSourceCodeNavigation::IsCompilerAvailable() returned false. It looks up in the registry and what knot. Also tested on 4.19 preview.