Do I need to use a custom built UE engine in order to get a fully functionnal shipping build ?

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.