Missing UnrealGameSyncLauncher folder and files with 5.4

I don’t know if this was intended or not. In my current setup with my team for using UGS, the UnrealGameSyncLauncher folder and files is missing from the 5.4 release source code. This makes creating the executables not possible for UGS client. Is there a new way to set this up now?

yeah, sad :frowning: , really hope the UnrealGameSyncLauncher will be back on the 5.4 next update.

Launcher was merged with GameSync

https://github.com/EpicGames/UnrealEngine/commit/da6a8f045eadf2680a23c408c16cec99b180f5d3

" UGS: Merge UnrealGameSync and UnrealGameSyncLauncher.

Browse files

Having one application for launching and running UGS makes for simpler and easier deployment, and allows easier code sharing between the tools. By default, debug builds of UGS will launch directly into the UI, while release builds will do the standard upgrade check. Passing -noupgradecheck will force it to launch directly, and passing -settings will open the update configuration UI."

It looks like the change @jpdoiron_bkom pointed out broke the Installer project because it still references the UnrealGameSyncLauncher project.

You’ll have to modify \Engine\Source\Programs\UnrealGameSync\Installer\Build.bat to point to the UnrealGameSync directory:

:: change this line
set SRCDIR=..\UnrealGameSyncLauncher\bin\Release\net6.0-windows
:: to be:
set SRCDIR=..\UnrealGameSync\bin\Release\net6.0-windows

I also had an issue with my /Engine/Source/Programs/UnrealGameSync/Installer/Product.wxs not being generated (Ive had this issue before 5.4.1). I used an old Product.wxs file and modified it to no longer point to the UnrealGameSyncLauncher.exe file, and instead to reference the file id of UnrealGameSync.exe instead. The ID can be found in \Engine\Source\Programs\UnrealGameSync\Installer\obj\Release\UGSLauncher.wxs, at this time, the ID is “filFB05A6224821B9F6027728B48EBEE2FA”

My new Product.wxs looks like:

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
	<!-- change: filFB05A6224821B9F6027728B48EBEE2FA is the file id of the UnrealGameSync.exe file in the generated in UGSLauncher.wxs-->
	<Product Id="*" Name="UnrealGameSync" Language="1033" Version="!(bind.FileVersion.filFB05A6224821B9F6027728B48EBEE2FA)" Manufacturer="Epic Games, Inc." UpgradeCode="770e2608-c9b0-4a4e-9802-45f9ca696ec6">
		<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />

		<MajorUpgrade DowngradeErrorMessage="A newer version of UnrealGameSync is already installed." />
		<Media Id="1" Cabinet="Cab1.cab" EmbedCab="yes" />

		<!-- TODO: DETECT NET CORE -->

		<Icon Id="Installed.ico" SourceFile="Icon.ico"/>

		<Property Id="ARPPRODUCTICON" Value="Installed.ico" />

		<Feature Id="ProductFeature" Title="UnrealGameSync" Level="1">
			<ComponentRef Id="ShortcutComponent" />
			<ComponentGroupRef Id="UGSLauncher_Project" />
		</Feature>

		<Directory Id="TARGETDIR" Name="SourceDir">
			<Directory Id="ProgramFilesFolder">
				<Directory Id="INSTALLFOLDER" Name="UnrealGameSync" />
			</Directory>
			<Directory Id="ProgramMenuFolder"/>
			<Directory Id="WindowsFolder" Name="WINDOWS"/>
		</Directory>

		<util:CloseApplication Id="CloseUnrealGameSync" Target="UnrealGameSync.exe" CloseMessage="yes" RebootPrompt="no"/>
		<util:CloseApplication Id="CloseUnrealGameSyncLauncher" Target="UnrealGameSyncLauncher.exe" CloseMessage="yes" RebootPrompt="no"/>

		<Property Id="WixShellExecTarget" Value="[#filFB05A6224821B9F6027728B48EBEE2FA]" />
		<CustomAction Id="LaunchApplication" BinaryKey="WixCA" DllEntry="WixShellExec" Impersonate="yes" />

		<InstallExecuteSequence>
			<Custom Action='LaunchApplication' After='InstallFinalize'>NOT Installed AND NOT REMOVE</Custom>
		</InstallExecuteSequence>

		<DirectoryRef Id="ProgramMenuFolder">
			<Component Id="ShortcutComponent" Guid="{BE12432C-5E4B-4E44-973E-84C680FCFFB7}">
				<Shortcut Id="ApplicationStartMenuShortcut" Name="UnrealGameSync" Description="Utility to help syncing and compiling UnrealEngine games" Target="[#filFB05A6224821B9F6027728B48EBEE2FA]" WorkingDirectory="INSTALLFOLDER"/>
				<RegistryValue Root="HKCU" Key="Software\Epic Games\UnrealGameSync" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
			</Component>
		</DirectoryRef>
	</Product>
</Wix>

After these changes, I was able to build all of the binaries for UnrealGameSync in 5.4.1.