'Shipping' configuration cannot be launched, even with cooked content

Hi ,

I am well aware of this limitation, however the issue as stated is that I have been unable to launch either the Test or Shipping configurations from within Visual Studio, even after cooking content as described. This is the core issue, and is one I’ve been facing since maybe 4.8.

Thanks.

I have the exact same issue.
I have to address a bug that appears only in shipping builds, and actually i can’t run it without packaging.

Using “cook content” in editor, and building in “Test” allowed me to run it from VS.

That is good to know. I will try that, too. ty

Still doesn’t work in 4.15

Having the same problem, and a shipping only semi random crash that’s tricky to diagnose without symbols.

All prior projects I’ve worked on have been able to gain a bit of information in ship mode - typically fairly functional callstacks / crash locations and ability to look at registers and statics. In fact we’d typically have fairly functional dmp files in a symbol cache to diagnose QA shipping crashes - critical during the final stages of any large project.

This problem seems to indicate a path issue, the shader cache files exist under my project directory in the cooked Engine folder (Project/Engine) but the path reported is under the Engine installation directory.

Hey -

Based on the steps in 's comment, I would expect the message he’s reporting. The shipping .exe that is created during the compile process is used to build the shipping build but is not the full shipping build itself. When the game is packaged for shipping (File->Package Project->Build Configuration->Shipping), a ProjectName/Binaries/Win64/ProjectName-Win64-Shipping.exe is created in the location where you packaged the project to. Running this Shipping.exe file will run the game in shipping as expected.

Cheers

I started encountering this issue in 4.15 recently, tried a myriad of things to fix it (none worked), upgraded to 4.17, and it’s still happening. I cannot run a Shipping or Package build, which is obviously a massive problem. It’s basically like a “broken” switch got turned on.

Things I tried before upgrading to 4.17:

  • Deleting Intermediate and Binaries directories, as well as Visual Studio project files
  • Re-generating project files
  • Cooking data a bunch of different ways
  • Copying the GlobalShaderCache files to where it was looking for them (different error happened)

The last attempt resulted in a bunch of can’t-load-content crap which, combined with it looking for the GlobalShaderCache in a Program Files directory rather than my project directory, makes me think it’s trying to run out of the wrong directory or something (but that’s clearly not the case…).

Questions:

  1. Where is GlobalShaderCache-PCD3D_SM5.bin supposed to be located? Program files, the project directory, or elsewhere?
  2. How can I change where it looks for that file?
  3. Is there any folder I can delete to sort of “reset” UE4? Regenerating projects and upgrading engines didn’t fix it, so I’d really like to “nuke it from orbit” if I could.

Issue is still there.
Starting the game in shipping mode from visual studio would be essential, but it seems like there is no way to do it? :confused:

Finally found a solution for this. Here are the steps:

  1. Make a shipping build from the editor, to ensure all content is cooked and everything compiles without issues. It doesn’t matter where you output the build.
  2. Close the editor.
  3. Change the solution to “Shipping” in Visual Studio
  4. Right-Click the game Project in Visual Studio, navigate to Configuration Properties->Debugging->Command Arguments and add the following:

-basedir="$(SolutionDir)/Saved/StagedBuilds/WindowsNoEditor/MyProjectName/Binaries/Win64/

Obviously replacing MyProjectName with the project name (I’m sure there’s a macro for this but I don’t know what it is). This will launch the build from the Saved/StagedBuilds folder.


Additionally if you are launching a Steam game, then you’ll find that visual studio quickly detaches and Steam tries to download and install the game from within the Client. This requires an engine-change (or you can move the OnlineSubsystemSteam plugin to your projects’ plugin directory and make the changes there):

  1. Navigate to OnlineSubsystemSteam.cpp
  2. Set RequireRelaunch to false on line 225 (UE 4.26)
2 Likes