question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

20.2.0 SDK 1.57 not initializing on Steam Deck

See original GitHub issue

After updating from 15.0.0 (Steamworks 1.49/05.92.36.75) to the latest version 20.2.0 (SDK 1.57/ 08.02.21.95), our game seems to no longer Initialize on Steam Deck. According to the logs, we are only getting the [Steamworks.NET] SteamAPI_Init() failed. Refer to Valve's documentation or the comment above this line for more information. error, but digging down deeper, the part of the initialization that it is failing on is in Steam.cs, line 316: m_pSteamUser = SteamClient.GetISteamUser(hSteamUser, hSteamPipe, Constants.STEAMUSER_INTERFACE_VERSION);, which returns an IntPtr.Zero.

This issue seems to only happen on the Steam Deck, where running the exact same code on PC has no issues.

For reference, we are using Unity 2021.3.16f1, and tp upgrade, we completely removed our 15.0.0 code from the codebase, and added 20.2.0 into the game via Unity Package Manager. I did also notice that the steam_api64.dll is no longer in the root of the Steam Build Directory, and assuming that is intended as well (athough manually copying it into the Steam Deck install folder does not fix this issue)?

Any thoughts on what could be causing this issue?

Issue Analytics

  • State:open
  • Created 3 months ago
  • Comments:11 (3 by maintainers)

github_iconTop GitHub Comments

1reaction
hbaInfinitycommented, Jul 17, 2023

Just as a heads up, after opening a support ticket with Steam, it seems like Steamworks SDK 1.57 will only work on Proton version 8.0 and higher, and does not support 7 or lower (it was posted above). This does not seem to be an issue with the Steamworks.Net plugin itself, and instead with the actual DLLs provided by Steam. I thought I would provide this as I couldn’t find any other information about this posted anywhere else on the Steamworks forums or patch notes.

0reactions
hbaInfinitycommented, Jul 10, 2023

Places where you need to remove old Steamworks.NET before installing the new version: Assets/Editor/Steamworks.NET/ Assets/Plugins/Steamworks.NET/ Assets/Plugins/steam_api.bundle/ Assets/Plugins/x86/libsteam_api.so Assets/Plugins/x86/steam_api.dll Assets/Plugins/x86_64/libsteam_api.so Assets/Plugins/x86_64/steam_api64.dll

After the deletion of all these folders and files our build on Steam Deck starts working. Unity 2019.4.30

As mentioned in the original comment, we had completly removed the old plugin from the project before moving to the Unity Package Manager version of the plugin.

It is as @trentburke mentioned, our game will work fine in Proton 8.0-2, and Experimental, but unfortunately not on the other versions. I did try asking on the Steamworks Forums if there was a way that we can set our default Proton version to use on Steam Deck, but I haven’t been successful finding a way on our end.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Unable to initialize Steam API error on steam deck
I'm trying to run 'mount and blade II bannerlord' on Steam Deck and running the game ends in this error message.
Read more >
Issues · rlabrecque/Steamworks.NET
20.2.0 SDK 1.57 not initializing on Steam Deck ... LogOn() and LogOnAnonymous() not working in Unity 5.6.5f1 and Steamworks.NET 9.0.0.
Read more >
Steam Menu button not working. :: Steam Deck General ...
When pressing the physical Steam and Options button they do not bring up the menus, all the other buttons work ok. I have...
Read more >
Steamworks SDK
The Steamworks SDK provides a range of features which are designed to help ship your application or game on Steam in an efficient...
Read more >
Steam Deck Windows drivers are now available
Hello! Have we mentioned Steam Deck is a PC? Like any other PC, you can install other applications and OSes if you'd like....
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found