Issue with UnrealGameSync

Hello,

Having issues with ‘UnrealGameSync’ on some PC’s.

On a PC that is functioning correctly:

This was from a while ago.

The installer was created with UE5.6.0

Installed fine. Installed to “Program Files (x86)\UnrealGameSync”

Also files are in “AppData\Local\UnrealGameSync”

Folders:

Cache / Latest / Tools

Then we created a new version of UGS from UE5.8.1 and checked it in in the “Unstable” folder.

On PC’s that works holding down the SHIFT key wen launching “UnrealGameSyncLauncher” I get to choose the Unstable build and use that, and move between Release & Unstable.

The desktop shortcut points to “Program Files(x86)\UnrealGameSync\UnrealGameSyncLauncher.exe”

All good.

--------------

On the PC’s that not working correctly.

The installer installs to “Program Files (x86)\UnrealGameSync” but for some reason it also installs “UnrealGameSync.exe” this file does not exist on the PC that works.

When I run it loads the “UnrealGameSync.exe” from the “Program FIles (x86)” folder which is the UE5.6.0 version not pulling down versions from Perforce and populating the “AppData\Local” folder.

If i go into “Update Settings” i can check “Use Preview build” and it will then download the 5.8.1 version and run that. But if UGS is fully closed and re-opened it will run the 5.6.0 version.

--

Not sure why its different. I have uninstalled deleted folder in “AppData\Local” I even went through registry settings and tried deleting all things pointing to UGS but no luck.

So not sure why there is a local version of “UnrealGameSync.exe” being installed to the “Program Files (x86)\UnrealGameSync” folder unlike some of the other PC’s or maybe it was originally there then gets deleted? I did notice in the registry that the Executable Path is setup to use the .exe from “Latest” folder in “AppData”, but guessing it finds local one first.

I don’t want to create a UGSInstaller from 5.8.1 yet as it should work with 5.6 Installer swapping between Release and Unstable.

Any help would be appreciated on what is going on and how should go around fixing the issues.

Thanks,

Simon

[Attachment Removed]

Hello, this sounds like it could be related to a bug in 5.6 with the launcher settings, which was fixed in 5.7.

In 5.6, when you open the “Application Settings” page from UGS and save any changes, the previously selected “Update Source” is dropped.

“UGS: Fix issue where Update Settings would fallback to Horde when changing theme even though Perforce was previously selected”

https://github.com/EpicGames/UnrealEngine/commit/7c46ac1d44f3e59d2a75f14de6fa8acb24e8bb87

If this is the issue, without updating UGS, you would need to avoid making changes in the “Application Settings” window.

Could you try the following to see if this might be the issue and if you can work around it?

  • delete the associated UGS registry entries (“HKCU\SOFTWARE\Epic Games\UnrealGameSync”)
  • launch “UnrealGameSyncLauncher.exe” with the shift button down to select the update source and preview build
  • close UGS completely, then reopen it (“UnrealGameSyncLauncher.exe”) to confirm that the selections don’t change

[Attachment Removed]

Hello, no worries about the delay on my end!

These two files are actually the same binary installed twice under two names, and I have both on my machine, too.

You can check the file hashes and timestamps to confirm this.

Get-FileHash "C:\Program Files (x86)\UnrealGameSync\UnrealGameSync.exe", "C:\Program Files (x86)\UnrealGameSync\UnrealGameSyncLauncher.exe" -Algorithm SHA256 | Format-List Path, Hash

Where they differ in behavior is when you click the “Update Settings…” button inside Application Settings.

If you’re running the “Launcher” executable, it asks you to quit and relaunch holding shift, otherwise, UGS restarts itself to configure updates, instead.

https://github.com/EpicGames/UnrealEngine/blob/5\.8\.1\-release/Engine/Source/Programs/UnrealGameSync/UnrealGameSync/Forms/ApplicationSettingsWindow.cs\#L233

Let me know how the test goes and/or if those files don’t match each other’s hashes, as that could be related.

[Attachment Removed]

Hello! Thanks for sharing the hashes and the screengrab, and sorry for the pain that this is turning out to be.

Could you confirm whether you re-entered your Perforce server and user in the launcher settings after deleting the registry key, or left them blank?

There are two more things that it would be useful to check, which shouldn’t take long:

  1. Right-click “C:\Program Files (x86)\UnrealGameSync\UnrealGameSyncLauncher.exe”, go to Properties, then Details, and confirm the version.
  2. Edit the desktop shortcut and add “-UpdateCheck” to the Target field, then launch it with Shift held, and confirm whether the update settings window appears.

What these checks should do is confirm whether the installer was built directly or via BuildGraph.

If built directly, the version will likely be 1.0.0.0, but if via BuildGraph, it would reflect the engine version.

Why this matters is that the BuildGraph script (Engine/Source/Programs/UnrealGameSync/BuildUGS.xml#L46) builds UGS with the “ReleaseAutoUpdate” configuration.

Without this configuration, the shift-key check only happens when “-UpdateCheck” or “-Settings” is on the command line.

https://github.com/EpicGames/UnrealEngine/blob/5\.8\.1\-release/Engine/Source/Programs/UnrealGameSync/UnrealGameSync/Program.cs\#L109\-L133

https://github.com/EpicGames/UnrealEngine/blob/5\.8\.1\-release/Engine/Source/Programs/UnrealGameSync/UnrealGameSync/Program.cs\#L319\-L326

https://github.com/EpicGames/UnrealEngine/blob/5\.8\.1\-release/Engine/Source/Programs/UnrealGameSync/UnrealGameSync/Launcher.cs\#L86

This also relates to which UGS instance is launched (LocalAppData vs. Program Files).

The copy under “AppData\Local\UnrealGameSync\Latest” only ever gets launched by that update check.

https://github.com/EpicGames/UnrealEngine/blob/5\.8\.1\-release/Engine/Source/Programs/UnrealGameSync/UnrealGameSync/Launcher.cs\#L153

[Attachment Removed]

Hello, this sounds like good progress. To build UnrealGameSync via BuildGraph, you can use the command below.

Engine\Build\BatchFiles\RunUAT.bat BuildGraph -Script=Engine/Source/Programs/UnrealGameSync/BuildUGS.xml -Target="Build UnrealGameSync Installer"This is the process we use internally to build the UGS installer through Horde and submit it to Perforce.

[Attachment Removed]

Hi Ieuan,

Been traveling and not had chance to try your suggestions yet.

One of the issue I am not sure what you suggested will fix is with the Installer i created with 5.8.1 when it installs to “Program Files (x86)” it installs “UnrealGameSync.exe” in the folder so every time you boot it with the “Launcher” it will load the local version not the one from “AppData”.

[Attachment Removed]

Hi Ieuan,

Here is what I got

This from being built against 5.8.1

Path : C:\Program Files (x86)\UnrealGameSync\UnrealGameSync.exe

Hash : 5C5DAB7EF2E0955E137B7F55AA7B680911D89E9DCD4365140126BBB573C59E18

Path : C:\Program Files (x86)\UnrealGameSync\UnrealGameSyncLauncher.exe

Hash : 5C5DAB7EF2E0955E137B7F55AA7B680911D89E9DCD4365140126BBB573C59E18

[Attachment Removed]

I also deleted the registry entry

but when holding down SHIFT i just get.

[Image Removed]

[Attachment Removed]

So only way to stick on 5.6.0 version which is in the RELEASE version is to when UGS is opened go into UPDATE SETTINGS (making sure Preview is off) and then hitting “CONTINUE”.

If launched COLD will go back to 5.8.1 version that should be PREVIEW version.

And as said holding down SHIFT and launching doesnt work.

[Attachment Removed]

Hi,

I re-entered my info after deleting from the registry.

The version is 1.0.0 as I know its built directly not from the build graph (not sure how we do that).

After putting in “-UpdateCheck” and holding the SHIFT key it launched and seems to be working like it is on other PC’s.

Also found out the original installer that people have on their machine that works with SHIFT held down was created back in the early versions of UE5 so maybe something changed. As they don’t have a version of “UnrealGameSync.exe” in the “Program Files (x86)” folder???

So to build the tool correctly should be using the BuildGraph way if you can tell me how to do that we will use that for the future.

Thank you,

Simon

[Attachment Removed]