UE4 keeps trying to use Visual Studio 2015 when 2017 is installed, can't start new projects

I installed Unreal Engine 4.19.2 today and it expects 2017 to be installed. I do have Visual Studio 2017 installed, but also VS 2015. When I created a new C++/“First Person” project with UE 4.19, it failed with a build error, specifically an Internal Compiler Error - but it showed that it was using VS 2015 and the top of the error stack said the compiler wasn’t up to date. I couldn’t find any option to force the project to build in 2017, but I was able to create a completely blank project, go into the editor, change the Source Code Editor in the preferences to VS 2017, and then exit and try to create a C++ project again, but the same error occurs - it is trying to build it in 2015.

Here’s the exact error:


SharedPCH.Engine.cpp
c:\program files\epic games\ue_4.19\engine\source\runtime\core\public\Windows/WindowsPlatformCompilerSetup.h(19): error C2338: Visual Studio 2015 Update 3 is required to compile on Windows (http://go.microsoft.com/fwlink/?LinkId=691129)
C:\Program Files\Epic Games\UE_4.19\Engine\Source\Runtime\Core\Public\Delegates/IntegerSequence.h(15): error C2061: syntax error: identifier '__make_integer_seq'
C:\Program Files\Epic Games\UE_4.19\Engine\Source\Runtime\Core\Public\Templates/Tuple.h(33): error C3857: 'TTuple': multiple template parameter lists are not allowed
C:\Program Files\Epic Games\UE_4.19\Engine\Source\Runtime\Core\Public\Templates/Tuple.h(38): error C3857: 'TNthTypeFromParameterPack': multiple template parameter lists are not allowed
C:\Program Files\Epic Games\UE_4.19\Engine\Source\Runtime\Core\Public\Templates/Tuple.h(42): error C2988: unrecognizable template declaration/definition
C:\Program Files\Epic Games\UE_4.19\Engine\Source\Runtime\Core\Public\Templates/Tuple.h(42): error C2059: syntax error: '<'
C:\Program Files\Epic Games\UE_4.19\Engine\Source\Runtime\Core\Public\Templates/Tuple.h(48): error C2988: unrecognizable template declaration/definition
C:\Program Files\Epic Games\UE_4.19\Engine\Source\Runtime\Core\Public\Templates/Tuple.h(48): error C2059: syntax error: '<'
C:\Program Files\Epic Games\UE_4.19\Engine\Source\Runtime\Core\Public\Templates/Tuple.h(55): error C2631: 'TDecayedFrontOfParameterPackIsSameType': a class or enum cannot be defined in an alias template
C:\Program Files\Epic Games\UE_4.19\Engine\Intermediate\Build\Win64\UE4Editor\Development\Engine\SharedPCH.Engine.cpp: fatal error C1903: unable to recover from previous error(s); stopping compilation
INTERNAL COMPILER ERROR in 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64\cl.exe'
    Please choose the Technical Support command on the Visual C++
    Help menu, or open the Technical Support help file for more information
ERROR: UBT ERROR: Failed to produce item: E:\code\UE4\FirstPersonTest\Binaries\Win64\UE4Editor-FirstPersonTest.dll
Total build time: 10.85 seconds (Local executor: 0.00 seconds)

It’s using Microsoft Visual Studio 14.0 which is the 2015 edition, but I do have 2017 installed at C:\Program Files (x86)\Microsoft Visual Studio\2017\

Any ideas how I can force UE4 to use the newer compiler?

<Your Project>\Config\DefaultEditorPerProjectUserSettings.ini



[/Script/SourceCodeAccess.SourceCodeAccessSettings]
PreferredAccessor=VisualStudio2017


You could also try : <Your Project>\Config\DefaultEditorSettings.ini

If you’re compiling the engine source, you will need to run the GenerateProjectFiles.bat with the “-2017” command line option.

Thanks for your help. Adding it to DefaultEditorPerProjectUserSettings.ini didn’t work. Nor did adding it in DefaultEditor.ini. When I created a new DefaultEditorSettings.ini file (your second suggestion), that seemed to do the trick - it failed with a different error, saying “ERROR: Visual Studio 2017 must be installed in order to build this target.”

This, I discovered from elsewhere (https://answers.unrealengine.com/que…017-error.html) is a misleading error and actually means that the relevant components are not installed in VS 2017, namely the “Desktop development with C++” and “Game development with C++” features. I installed those, and now it all builds correctly and I can enter the editor and play the game.

I just installed VS2017, unistalled VS2015 then reinstalled the Windows 8.1 sdk.
Problem gone.

[USER=“434”]BrUnO XaVIeR[/USER] When I reinstalled OS - just avoided 2015 entirely. But hind sight and all that :slight_smile:

@Kylotan Thanks for the update and additional information! Glad you got it sorted.

Open %appdata%\Unreal Engine\UnrealBuildTool\BuildConfiguration.xml and make it look like this:



<?xml version="1.0" encoding="utf-8" ?><Configuration xmlns="https://www.unrealengine.com/BuildConfiguration">
    <BuildConfiguration>        
    </BuildConfiguration>

    <VCProjectFileGenerator>
        <Version>VisualStudio2017</Version>
    </VCProjectFileGenerator>

    <WindowsPlatform>
        <Compiler>VisualStudio2017</Compiler>
    </WindowsPlatform>

</Configuration>

Hey Manoel.neto thanks for you anwser I was struggling trying to open an old project and your post just work