Tutorials / Guides on how to use Steamworks.NET ?

FYI: I created a new repo which integrates the Facepunch.Steamworks library. This library allows to code in native C#!

Feel free to check it out:

Hello! I know this is a rather old topic, but I’ve been trying to use Steamworks for a couple days with your handy MonoGame integration. I managed to make the overlay work, but only when I use the SpaceWar AppID. When I use my own AppID, I get this:

[S_API FAIL] SteamAPI_Init() failed; connect to global user failed.

This means I can’t test achievements for my game. The problem probably comes from the Steamworks setup. From what I understand from steam_api.h (Steamworks Documentation), , it’s because my "App ID is not completely set up, i.e. in Release State: Unavailable".

Am I supposed to upload the game before I can use the Steamworks API to test it? This question is probably more Steamwork-related than MonoGame related, but I figured I would ask because I can’t find any other information about this online.

No, it should work without uploading your game first.

It’s also neccessary to correctly setup the achievements in your steamworks backend. Just as a general notice.

You need to run the Steam client and login with a user which owns the AppID of your game. This could probably be your first, second, third etc. account.

Thank you for your answer. In the meantime I contacted the Steam support and turns out it was an issue on their end where the default package wasn’t created after the game creation. They solved it quickly.

1 Like

Hi, I’m following your guide and I’m getting issues with loading steam_api64 - the DLLImport can’t see it at all, even though it’s there. It’s in the same place as the steam_api.dll in the example projects.
I’ve put the WINDOWS build constant in as well, but it does’t seem to affect anything.
I previously had an issue with the Steamworks.NET dll not being loaded correctly, but I managed to fix that by deleting and recreating the reference.
I’m using 64bit windows with JetBrains rider, and my game so far is just the desktopgl template with your additions from the guide.

Thanks in advance :slight_smile:

EDIT: Managed to fix it with some help
Jetbrains rider doesn’t have the copy if newer thing, so the DLLs should be put in projectname/bin/debug/net6.0/