Error on created C++ based project

I just setup a new computer and installed unreal engine 4.25.3. I tried to create an C++ project and I get the following error when I click “Create Project”.

Running C:/Program Files/Epic Games/UE_4.25/Engine/Binaries/DotNET/UnrealBuildTool.exe  -projectfiles -project="C:/Users/JimVaughn/Documents/Unreal Projects/MyProject/MyProject.uproject" -game -rocket -progress
Discovering modules, targets and source code for project...
Binding IntelliSense data...
Binding IntelliSense data... 100%
Writing project files...
Writing project files... 67%
ERROR: Unhandled exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.InvalidOperationException: This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms.
          at System.Security.Cryptography.MD5CryptoServiceProvider..ctor()
          --- End of inner exception stack trace ---
          at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
          at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
          at System.Security.Cryptography.CryptoConfig.CreateFromName(String name, Object[] args)
          at System.Security.Cryptography.MD5.Create()
          at UnrealBuildTool.VCProjectFileGenerator.MakeMd5Guid(Byte[] Input) in D:\Build\++UE4+Licensee\Sync\Engine\Saved\CsTools\Engine\Source\Programs\UnrealBuildTool\ProjectFiles\VisualStudio\VCProjectFileGenerator.cs:line 421
          at UnrealBuildTool.VCProjectFileGenerator.GenerateProjectFolderGuids(String ParentPath, MasterProjectFolder Folder, IDictionary`2 Guids) in D:\Build\++UE4+Licensee\Sync\Engine\Saved\CsTools\Engine\Source\Programs\UnrealBuildTool\ProjectFiles\VisualStudio\VCProjectFileGenerator.cs:line 410
          at UnrealBuildTool.VCProjectFileGenerator.GenerateProjectFolderGuids(MasterProjectFolder RootFolder) in D:\Build\++UE4+Licensee\Sync\Engine\Saved\CsTools\Engine\Source\Programs\UnrealBuildTool\ProjectFiles\VisualStudio\VCProjectFileGenerator.cs:line 401
          at UnrealBuildTool.VCProjectFileGenerator.WriteMasterProjectFile(ProjectFile UBTProject, PlatformProjectGeneratorCollection PlatformProjectGenerators) in D:\Build\++UE4+Licensee\Sync\Engine\Saved\CsTools\Engine\Source\Programs\UnrealBuildTool\ProjectFiles\VisualStudio\VCProjectFileGenerator.cs:line 519
          at UnrealBuildTool.ProjectFileGenerator.WriteProjectFiles(PlatformProjectGeneratorCollection PlatformProjectGenerators) in D:\Build\++UE4+Licensee\Sync\Engine\Saved\CsTools\Engine\Source\Programs\UnrealBuildTool\ProjectFiles\ProjectFileGenerator.cs:line 2696
          at UnrealBuildTool.VCProjectFileGenerator.WriteProjectFiles(PlatformProjectGeneratorCollection PlatformProjectGenerators) in D:\Build\++UE4+Licensee\Sync\Engine\Saved\CsTools\Engine\Source\Programs\UnrealBuildTool\ProjectFiles\VisualStudio\VCProjectFileGenerator.cs:line 436
          at UnrealBuildTool.ProjectFileGenerator.GenerateProjectFiles(PlatformProjectGeneratorCollection PlatformProjectGenerators, String[] Arguments) in D:\Build\++UE4+Licensee\Sync\Engine\Saved\CsTools\Engine\Source\Programs\UnrealBuildTool\ProjectFiles\ProjectFileGenerator.cs:line 1045
          at UnrealBuildTool.GenerateProjectFilesMode.Execute(CommandLineArguments Arguments) in D:\Build\++UE4+Licensee\Sync\Engine\Saved\CsTools\Engine\Source\Programs\UnrealBuildTool\Modes\GenerateProjectFilesMode.cs:line 198
          at UnrealBuildTool.UnrealBuildTool.Main(String[] ArgumentsArray) in D:\Build\++UE4+Licensee\Sync\Engine\Saved\CsTools\Engine\Source\Programs\UnrealBuildTool\UnrealBuildTool.cs:line 550

Note this is also happening if I start a Blueprint project and then add a C++ class. Any help or potential things to try would be very helpful.

If you do then go try this:

           1. Go to your visual studio installer and open it
           2. Go to the "Modify" tab on you current visual studio version
           3. Make sure that you have the "Game development with C++" installed.
           4. Then Make sure that you have "Unreal Engine Installer" under "Game Development with C++" (It's at the 
                side 
                of the installer, make sure you check on "Game Development with C++" in order to see the unreal engine 
                installer).

I do have the .net framework 4.8 installed.

Anyone have any thoughts? I’m really stuck here.

Do you have NET.Framework SDK installed?

To install the NET.Framework SDK, just search up:
“Install NET.Framework SDK” Make sure you download a version of 4.6.0 or higher.

I tried this and had everything else installed however I didn’t have the “unreal Engine Installer” checked. I checked it and hit modify but I am still getting the same error .

So did you try my other answer

Which version of visual studio are you using?

If you want to make a desktop game make sure that you have development with C++ Desktop installed as well But if you are making a mobile game then install the mobile development instead.

I found a solution. I have FIPS disabled so I am not sure why this occurring. I even checked the key in the registry under HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\FipsAlgorithmPolicy\enabled and it was set to 0 which is disabled.

The solution for me was to entirely delete HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\FipsAlgorithmPolicy entirely and then restart unreal and any visual studio instances you have open.

  1. I found a solution/workaround. Thank you for your help!

I did try it without success.

I had this installed already.

I can’t turn FIPS off for the environment I’m in. So I’m still getting the FIPS errors.

Is it an UNREAL issue, a .NET issue, and are there things I can change or drop from the code to make this work? I’ve been having these issues when compiling with 4.26.2 with VS2019. I’ve also tried 4.27 and other versions to see what the problem seems to be, but can’t find a solution.

I know this is from long ago, but I found a solution for those who require FIPS to be enabled on their machine. Unreal uses encryption incompatible with FIPS in a few places. I didn’t see this posted anywhere else so I figure I would add this.
The solution for getting packaged builds to work on FIPS enabled machines is as follows:

Open the UnrealBuildTool solution in VisualStudio located in \Engine\Source\Programs\UnrealBuildTool\UnrealBuildTool.sln (or csproj file)
Then open \Engine\Source\Programs\UnrealBuildTool\System\ActionHistory.cs

Then change (around line 32)
from: const int HashLength = 16;

to: const int HashLength = 32;

And line 123 from:

return MD5.Create().ComputeHash(InvariantBytes);

to:

return SHA256.Create().ComputeHash(InvariantBytes);

Build the solution and packaging should work now.

In addition, I found a solution for getting Swarm to work for devices that require FIPS:
open the SwarmAgent.sln under \Engine\Source\Programs\UnrealSwarm
Then open \Engine\Source\Programs\UnrealSwarm\Agent\Channels.cs

and change line 122 from:
private SHA1Managed SHhash = new SHA1Managed();

to:
private SHA1CryptoServiceProvider SHhash = new SHA1CryptoServiceProvider();

then build the solution and run SwarmAgent again. It looks like SHA1Managed is incompatible with FIPS and SHA1CryptoServiceProvider is one that is compatible.