Hello,
I’m trying to create a shipping build of our game with steam works integration.
It’s working ok with PIE and development builds, but troubles arise when creating a shipping build.
I checked UE5.3 sources to better understand the behavior and this is what I found out :
bool ConfigureSteamInitDevOptions(bool& RequireRelaunch, int32& RelaunchAppId)
{
#if !UE_BUILD_SHIPPING && !UE_BUILD_SHIPPING_WITH_EDITOR
...
#else
// Always check against the Steam client when shipping
RequireRelaunch = true;
RelaunchAppId = UE_PROJECT_STEAMSHIPPINGID;
#endif
return true;
}
This RelaunchAppId
is later used here :
bool FOnlineSubsystemSteam::InitSteamworksClient(bool bRelaunchInSteam, int32 SteamAppId)
{
bSteamworksClientInitialized = false;
// If the game was not launched from within Steam, but is supposed to, trigger a Steam launch and exit
if (bRelaunchInSteam && SteamAppId != 0 && SteamAPI_RestartAppIfNecessary(SteamAppId))
So from what I understand, to get this functionality fully working, one needs to use an engine built from source in order to rebuild the steam online subsystem plugin with the correct UE_PROJECT_STEAMSHIPPINGID
set.
I didn’t find anything in documentation about this issue, so I want to be sure I understood correctly the limitations and workaround of using the Steam Online Subsystem.