Quick Launch Current Level on Steam Deck is not working

Summary

Running the game on Steam Deck using “Platforms > Quick Launch Current Level” successfully deploys the build, but nothing happens on the Deck.

What Type of Bug are you experiencing?

Platform Other

Steps to Reproduce

  1. Configure the steam deck for UE5
  2. Open a level in the editor
  3. Go to Platforms > Quick Launch Current Level > (YourSteamDeck Linux or Windows + Proton)

Expected Result

Successfully Quick Launch on the Steam Deck

Observed Result

Build success, but anything happens on the Steam Deck

Affects Versions

5.8

Platform(s)

Linux
Windows

Additional Notes

You can see this exception in the Output Log:

LogPlayLevel: UAT: Traceback (most recent call last):
LogPlayLevel: UAT:   File "/home/deck/devkit-utils/steam-client-create-shortcut", line 36, in <module>
LogPlayLevel: UAT:     devkit_utils.save_env(gameid, parms['env'])
LogPlayLevel: UAT:                                   ~~~~~^^^^^^^
LogPlayLevel: Error: UAT: KeyError: 'env'
LogPlayLevel: UAT: Took 0.77s to run ssh.exe, ExitCode=1
LogPlayLevel: UAT: Failed to run the CreateShortcutHelper.sh.sh script. Check connection on ip Check connection on ip deck@192.168.0.xxx

I investigated the engine source and I found that SteamDeckSupport.cs generates CreateShortcutHelper.sh through GetRegisterGameScript(). The function is not serializing the env parameter requested in the exception above.

string[] Parms =
{
	$"\"gameid\":\"{GameId}\"",
	$"\"directory\":\"{GameFolderPath}\"",
	$"\"argv\":[\"{RelGameExePath} {GameRunArgs}\"]",
	$"\"settings\": {{{JoinedSettings}}}",
};

This appears to be a compatibility mismatch between UE Steam Deck integration in 5.8 and newer versions of the SteamOS Devkit.