Unreal 4.16.1 debug game build error: ICU data directory was not discovered

Hi, I have updated to latest Unreal version 4.16.1 and now the debug of a game build does not work anymore. Tried it with a clean c++ starter project.

Exception thrown at 0x00007FFF70729E08 in MyProject-Win64-DebugGame.exe: Microsoft C++ exception: xSharedMemoryException at memory location 0x000000394C6CEDC0.
Assertion failed: HasFoundDataDirectory [File:D:\Build\++UE4+Release-4.16+Compile\Sync\Engine\Source\Runtime\Core\Private\Internationalization\ICUInternationalization.cpp] [Line: 128] 
ICU data directory was not discovered:
../../../MyProject/Content/Internationalization
../../../Engine/Content/Internationalization
MyProject-Win64-DebugGame.exe has triggered a breakpoint.

Can someone confirm this problem?

Steps to reproduce:

  1. Use unreal engine 4.16.1

  2. Create a new C++ Basic Code Project

  3. Try to debug a ā€˜GameBuildā€™ with Visual Studio Community 2015 (14.0.25431.01 Update 3)

  4. Break point triggered in C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\crt\src\vcruntime\exe_common.inl line 253 at int const main_result=invoke_main();

Greets

Upgraded a project to 16.1 and confirmed same behavior - event after deleting the above folders.

1 Like

The packaged build does run though.

Youā€™re the second thread Iā€™ve seen with this.

@WoodsShin

Suggest one of you moveā€™s to Bug Reports.

Other thought - did you try deleting the Saved and Intermediate folders to force a full rebuild of the packages?

Hi solarisx,

Thanks for letting us know about this. I was able to reproduce this issue, but it is apparently only limited to binary installations of the Engine. When I tested with an Engine I had built from source code, I was able to debug the project successfully. I have entered UE-45748 to have this investigated further.

Hi ,

This says that it was fixed in 4.16.1 - but Iā€™m still having this issue.

4.16.1 binary from launcher still same problem

can you explain how to use? my engine is in D:\NET\UE_4.16\Engine but my project is in C:\NET\project do i still type ā€¦/ā€¦/ā€¦/ ??

Just for the record: Same on all machines here with binary 4.16.1. This should not be marked fixed unless it actually is. Sadly, the workaround doesnā€™t yet do the trick for me either.

From my investigation, the issue is a little broader and not restricted to ICU. I have managed to trick a debug game into finding ICUs content dir by copying the Internationalization folder into the gameā€™s content. Yeah, I knowā€¦ Anyway, after that the initialization phase skipped with that:

Fatal error: [File:D:\Build++UE4+Release-4.16+Compile\Sync\Engine\Source\Runtime\Engine\Private\PhysicsEngine\PhysXLibs.cpp] [Line: 87]
Failed to load module ā€˜ā€¦/ā€¦/ā€¦/Engine/Binaries/ThirdParty/PhysX/Win64/VS2015/PxFoundationPROFILE_x64.dllā€™.

Which means the next dynamically loaded module also wasnā€™t found. I believe the reason is that FPaths::GameContentDir() and FPaths::EngineContentDir() donā€™t seem to work in debug builds, causing all those subsequent errors.

Still experiencing this problem in 4.16.2, both on Windows and on PS4.

My engine version is built from source code, but it also occurs in Binary Builds.

,

Iā€™m still getting this in 4.16.2, and Iā€™m using a Source Engine Build and Binary Builds. The issue is most definitely not fixed!

@ - where are you adding that define? in your project main header?

For example, my main project header is ECGame.h - Should we put it there?

I was only successful putting it into the build.cs. Like that:

Definitions.Add("UE_ENGINE_DIRECTORY=d:/Unreal/Epic Games/UE_4.16/Engine/");

Having it in the PCH or some other header didnā€™t do the trick here.

Hi ,

Yeah Iā€™m trying to launch DebugGame on PS4 in 4.16.2 and getting the same error!

Any workaround?

Ok, the workaround is to define UE_ENGINE_DIRECTORY in your pch header. In my case it looks like this:

#define UE_ENGINE_DIRECTORY ../../../Epic Games/UE_4.16/Engine/

The project folder and Epic Games folder are siblings.

I still having this issue too, in 4.16.1

Have you tried full path to UE_4.16/Engine/ directory?

Updated to 4.16.2 but same error message, despite UE-45748 shows it fixed. It isntā€¦ :frowning:

Hi ,

Our repro for UE-45748 no longer results in this issue in 4.16.2. Do you have a different repro where you are still seeing the issue occur?

Iā€™m also getting this error trying to launch DebugGame on Xbox One with a source build of 4.16.2