[VS2013, C++] Failed to open descriptor file *.uproject

In my case steps to reproduce are:

Create following directory structure:

C:\DevProjects\

  • \Engine_v48

  • \Project_Test

  1. Download 4.8 from github/release branch, copy it to Engine_v48 folder, compile, dev. editor, win64, all by default. Then run Binaries\Win64\UE4Editor.exe, create project based on C+±>TopDownExample, specify path and project name.
  2. Visual studio will opened, editor will be closed. Press F5 in studio. Compile process will start, and you will get “Failed to open descriptor file …” at end.

I usually fix it manually by specifying direct path in Command Arguments to Project_Test.uproject in Properties of Project_Test->Debugging, but often for unknown reason (when you press F7 or F5) something changes it back to “Project_Test.uproject C:\DevProjects\Project_Test\Project_Test.uproject -debug” and I get this error again. Arrgggh.

Hi,

This is a known issue caused by more recent versions of UnrealVS. We already have a bug internally (UE-12222) about this issue.

As a workaround, you should be able to install an older version of UnrealVS (eg, the version from 4.7).

Thanks.

We already have a bug internally (UE-12222) about this issue.
Some time frame when approximately this issue will be investigated/fixed?

I can’t give you a definite date for a fix, but the issue itself is currently marked as in-progress by the developer who it’s assigned to.

This is fixed in UnrealVS 1.38.

Recreating Visual Studio project files helps if older version of UnrealVS shows this error too.

Where can I get the fixed version?

Hey -

You can find information on how to make sure UnrealVS is up to date here: Using the UnrealVS Extension for Unreal Engine C++ Projects | Unreal Engine 5.1 Documentation

Hi

It looks like I made the mistake of installing the version of the VS plugin with this bug, as after doing that I started getting a “Failed to open descriptor file” on startup.

I uninstalled the plugin and installed the older one. That didnt fix it.

I got the newest version of the plugin from (UnrealVS 1.39 - coverted solution to VS2015 [UE-19378] - UnrealVS update to VS2015 complete) from the VPN and that also did NOT fix the problem.

Note:

  • I only got the .vsix file, we are not in a position where we can integrate to the most recent version of the engine, so I hope that isn’t the solution.

  • I’ve rebooted and done a clean of the project

  • I’ve regnerated the project files

Any help?

Hey -

What engine version are you working on and what version of Visual Studio are you using?

What is it displaying for the descriptor file path? Is the path correct?

Engine version: 4.8.2
VS: 2013 (12.0.21005.1)

However the VS plugin I had installed was old (Feb). I installed the new one today to attempt fix a different bug - the regenerate project files icon was disabled in the pluging. I believe thats what triggered this, but I had done a few other things (refactored some code), so im not 100% positive these are related, but it seems that way.

I stepped through the code quickly: FProjectDescriptor::Load() calls FFileHelper::LoadFileToString() with a proper file name of ‘Test_Project.uproject’, that calls IFileManager::Get().CreateFileReader() which calls GetLowLevel().OpenRead() which calls CreateFileW(*NormalizeFilename(Filename), Access, WinFlags, NULL, Create, FILE_ATTRIBUTE_NORMAL, NULL) which returns 0xffffffffffffffff.

What was the attempted fix you made? Does the build tool still have a lock on the uproject, preventing the it from being accessed?

I should also note - Im building the Development Editor config. When I build Debug Editor, it works fine (though this isnt a workaround, since the debug config isnt fast enough)

It just sounds like a bad uproject file path is in the command line arguments. So you are building and running your own code project? What is the command line shown in the UnrealVS toolbar? Try comparing this to the actual command line in your project’s properties (right click the project and select Properties->Debugging->Command Arguments). When building and running the editor for your game, the executable will need to be given the path of the uproject file. UnrealVS will attempt to silently add this for you if it thinks you forgot but if you upgraded from an older version it might have got it wrong. If in doubt, paste the full path of your uproject into the command line args property.

Hi

Thanks for the quick response. It looks like you were correct about the command line being incorrect.

I was previously specifying the project name for development, and it looks like the upgrade to the vsic project appended a “$(SolutionDir)$(ProjectName).uproject” to it. I switched it to just “”$(SolutionDir)$(ProjectName).uproject" and it looks like its working (im logged into work via remote destop and its slow, but the editor seems to be loading! :slight_smile: ).

I’ll follow up if issues.

Sorry, but I uninstalled UnrealVS, reinstalled from Unreal Engine 4.8.3 (as described in the docs). Now in Visual Studio 2013 when I go to “Tools / Extensions and Updates” UnrealVS is still at version 1.34

For me it looks like that this is the current version, see the source code.

That’s correct, the version in the 4.8 release was UnrealVS 1.34. Release 4.9 is likely to include UnrealVS 1.38. The latest in the master branch is 1.39.

Arg I can’t seem to fix this. I just unfortunately installed the UnrealVS with 4.8, and got this problem so I uninstalled it, regenerated the project files, but the error is still happening. I can’t work now!

Installing the 4.7 version isn’t an option as I do’nt have that version.

Hey -

Upgrading to the 4.9 version of the engine should update the UnrealVS and solve this issue for you. If you’re using the binary version of the engine this can be done by simply clicking the Add Versions button on the Library tab of the Epic Games Launcher and choosing 4.9 from the drop down list. If you are using the source version there are a few more steps involved but it is still relatively easy. After downloading and extracting the .zip file from Github you can run Setup.bat and GenerateProjectFiles.bat. Once the UE4 .sln file is created you can run that to build the editor.

Cheers

UnrealVS is a manual update. You need to run UnrealVS.vsix in the Extras folder for your version of VS. You can check your version in the “Extensions and Updates…” dialog in VS.

This issue occurred when the project name (specifically the project folder name) changed.

Go to the project’s root folder>rename the Binaries and Intermediate folders to Binaries_OLD and Intermediate_OLD>RMB the [project name].uproject>Generate visual studio project files>open the [project name].sln in Visual Studio (can just LMBx2 the .sln file)>Local Windows Debugger (to recompile the code and add modules/pdb files in the Binaries folder). This fixes up all references from the old file names to the new ones.