Currently, launching a game from the Unreal Editor on the Steam Deck does not work. This is because the steam-client-run-game
script is missing from the Engine/Build/SteamDeck
folder.
I tried to fix this issue by re-creating the missing script. This is a temporary fix until Epic Games adds the script to the Engine. Please visit this thread for more information.
Tested with Unreal Engine 5.2.1
- Download the latest release from here
- Extract the archive to a folder of your choice
- Create a folder called
SteamDeck
in your Engine's installationEngine/Build
folder (e.g.C:\Program Files\Epic Games\UE_5.2\Engine\Build\SteamDeck
) - Copy the
steam-client-run-game
file andvdf
folder with all of its content to the newly createdSteamDeck
folder - Launch the game from the Unreal Editor as described here
- When you launch a game for the first time, it won't work. You need to navigate on your Deck to Steam -> Library -> Non-Steam Games and launch the game from there. This will register the new appid in the
screenshots.vdf
file. After that, you can launch the game from the Unreal Editor.
When launching the game at the first time from the editor, the screenshots.vdf
won't be updated with the appid.
After you launch the shortcut from the Non-Steam Games section on the Deck, the screenshots.vdf
will be updated and you can launch the game from the editor.
Ideas on how to fix this:
- Force steam somehow to refresh that file?
- Try to generate the appid from the game's name? (https://gaming.stackexchange.com/questions/386882/how-do-i-find-the-appid-for-a-non-steam-game-on-steam)
If the game was previously installed on the Deck, but then it was removed, the previous appid stays in the screenshots.vdf file
You can manually remove the entry from the file. The file is located in /home/deck/.steam/steam/userdata/<your steam id>/760/screenshots.vdf
Ideas on how to fix this:
- Collect all appids from the
screenshots.vdf
file and try to launch the game with each of them - Try to find a way to validate the appid
I'm not sure if this is an issue with the script or not.
Any help is appreciated. Feel free to open a pull request or an issue.