Hi,
I’m having an issue running pre-compiled editor binaries after syncing with UGS. Some guidance would be very much appreciated!
The editor crashes immediately on startup. It looks like it’s failing to load some ThirdParty dlls (crash log is at the bottom of this post).
I think the issue is that I haven’t added /Engine/Binaries/ThirdParty
to perforce.
Many online resources have suggested I do not commit any binaries manually which makes sense to me - the point of using UGS is to bundle up required binaries for artists. Does this exclude ThirdParty binaries?
If this is the case, then is there a way to package ThirdParty libraries as well?
If not, what needs to be added to perforce manually, and what is packaged in the build?
Here’s some more context
I’m using Visual Studio 2019, so had to update the build config to use msvc version v14.22, but I can build and run the editor from vs2019.
I’ve also managed to set up most of the UGS systems. The launcher can pull the latest UnrealGameSync.exe
build from perforce, the metadata server is running and connects properly, I can open my project in the client, and I can build and package the editor using RunUAT.bat
and BuildGraph.
My project setup looks like this:
UnrealEngine/
Engine/
FeaturePacks/
LocalBuilds/
MyGame/
Build/
UnrealGameSync.ini
Content/
Config/
...
Samples/
Templates/
<.bat, .sln, ...>
To build and submit the engine, I’m using the following command from the UnrealEngine/MyGame/
directory (after setting up the uebp_USER
and uebp_PORT
env vars to point to my perforce server)
..\Engine\Build\BatchFiles\RunUAT.bat BuildGraph ^
-Script=Engine/Build/Graph/Examples/BuildEditorAndTools.xml ^
-Target="Submit To Perforce for UGS" ^
-set:EditorTarget=MyGameEditor ^
-set:ArchiveStream=//depot/dev-binaries ^
-p4 ^
-submit
This correctly builds and submits the editor binaries to the perforce server under //depot/dev-binaries/++depot+main-Editor.zip
I can then open the project in UGS, turn on the “Sync Precompiled Editor” option, then then sync and unpack the precompiled engine. This works correctly.
Then, when I try to open the editor, it will crash on startup. Here’s the output from UnrealEngine/Engine/Saved/Crashes/_0000/UE4.log
Not using cached read wrapper
Started task graph with 5 named threads and 35 total threads with 3 sets of task threads.
Stats thread started at 0.071804
Failed to load GFSDK_Aftermath_Lib.x64.dll
Failed to load '../../../Engine/Binaries/ThirdParty/nvTextureTools/Win64/nvtt_64.dll' (GetLastError=126)
File '../../../Engine/Binaries/ThirdParty/nvTextureTools/Win64/nvtt_64.dll' does not exist
Failed to load '../../../Engine/Binaries/ThirdParty/libsndfile/Win64/libsndfile-1.dll' (GetLastError=126)
File '../../../Engine/Binaries/ThirdParty/libsndfile/Win64/libsndfile-1.dll' does not exist
Failed to load Sound File dll
LibSoundFile failed to load. Importing audio will not work correctly.
Failed to load '../../../Engine/Binaries/ThirdParty/ICU/icu4c-53_1/Win64/VS2015/icudt53.dll' (GetLastError=126)
File '../../../Engine/Binaries/ThirdParty/ICU/icu4c-53_1/Win64/VS2015/icudt53.dll' does not exist
Windows GetLastError: The operation completed successfully. (0)
Again, this looks like it’s just missing some ThirdParty libraries. Any help is appreciated!