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
- Configure the steam deck for UE5
- Open a level in the editor
- 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.