Tutorials / Guides on how to use Steamworks.NET ?

Thank for your quick reply @BlizzCrafter,

I ran all of your samples to check if they are working for me (I am not sure if I should use Facepunch.Steamworks or Steamworks.Net, yet, but tend to lean towards the latter). They are all running fine and I can push achievements, etc. However, HelloSteamworks should support the steam overlay by pressing “shift + tab”, which is somehow not active. Same in MonoGameIntegration. Both tell me that the overlay is not active.

Best,
Max

I checked my project and it’s still working without a problem for me.

Please check if the steam overlay was injected correctly:

  • Do you see the steam popup in the bottom right corner, when you start the “Hello Steamworks.Net” project?

If not then the overlay wasn’t correctly injected.

Please open the task manager (while the project is still running) and look for a process called “gameoverlayui.exe”. It will only appear if your steam client and the project is running and when the overlay was correctly injected.

If this process doesn’t appear in your task manager, then it’s necessary for you to start the project from within your steam client. This should inject the steam overlay correctly.

For that you need to add the project as a “Non-Steam-Game” to your games library and start it using the play button in steam.

Latest now it should work.

Note: I had the same problem like you in a WindowsDX project, because the overlay gets differently injected in a DirectX project. Starting the project from within my steam client resolved this issue.


Facepunch.Steamworks seems to be a good and solid implementation. It is also mentioned in the official Steamworks partner documentation (like Steamworks.Net). A big plus with this library is, that you can code in native C# without the need of calling functions from the steam api.
Unfortunately I didn’t make any experiences with it so far. So I can’t help you with that.

Nevertheless I hope that the advices were helpful.

Cheers,
Marcel


PS: Please make sure to use the latest GitHub version, because at some point I switched from a WindowsDX sample to a DesktopGL sample as a result of the overlay error in a debugging session I mentioned above (overlay is working on all platforms when starting the project from within the steam client).

1 Like

Hi Marcel,

thanks for checking again. I tried several build configurations and started the game outside and from within Steam, but the overlay won’t load. I also cannot see the respective process you mentioned.

Before digging further into this, I will heed your advice and check our Facepunch.Steamworks. It seems fairly high-level, maybe I can get it to run. As soon as I get to it, I will let you know.

Best and thanks again for your effort,
Max

This process is absolutly necessary for the overlay to become enabled. I bet you will have the same issue with the Facepunch.Steamworks integration, because the overlay injection is happening on steam-side and doesn’t directly has something to do with Steamworks.Net.

Please read the official support site for the steam overlay to eliminate all possible issues (like virus scanners, firewalls, other programs interfering the overlay like “RivaTuner Statistics Server”, etc.).

I did a small test: When launching the “RivaTuner Statistics Server” (for example) before I launching the steamworks integration project, then the steam overlay isn’t working anymore.

There a quite a lot of reasons why the overlay can’t be succesfully injected. That you can’t find the “gameoverlayui.exe” process in the task manager, tells that something went wrong during the injection. You should read the article I linked above.

Okay, will do so, thanks again.

By the way, I did check out Facepunch.Steamworks. Looks very neat, but I will nevertheless use SteamWorks.Net since the documentation seems to be better and it has more or less all functionality included.

Best,
Max

1 Like

#Updated the repo to Steamworks.Net 10.0 (Steam SDK 1.40)
https://github.com/sqrMin1/Steamworks.Net-MonoGame-Integration

I wanted to update to the newest Steam SDK 1.41, but I will wait for a stable Steamworks.Net release, because Riley Labrecque is currently making a bigger change (removing “CSteamworks”). So updating now to the latest version could brake things. But of course you can try the latest updates by yourself. You just need the current files from https://github.com/rlabrecque/Steamworks.NET

If you want to stay on the safe site, then just use my latest repo update, which I linked on top of this post.

Cheers

1 Like

Thanks for the update, I will check it out.

Updated the repo to Steamworks.Net 11.0 (Steam SDK 1.41)

  • No longer requires CSteamworks.dll!

So it’s even easier to start using the Steamworks.Net library in your project.

  • Updated the Readme.md file accordingly

No code changes required; just the DLL was removed!

2 Likes

Just want to add something:

There is a Steamworks.Net-Test-Repo with many useful samples / test files like using the:

… just to mention a few!

They are made for Unity3D but they are also written in C#, so it’s pretty easy to learn from and use the steam features you like to see in your MonoGame project!

Use these samples together with the official Steamworks Documentation on the Steamworks Partner Site to be as most efficient as possible. At least it will make things a lot easier :wink:

Have a nice day!

PS: If you have problems to open the Steam Overlay, then you should visit the official support site for the overlay and read it completly - it’s important and useful!

Hi @BlizzCrafter,

I finally came to update the Steamworks.Net to the current version. Works like a charm, thanks a lot and keep up the good work!
Once the game is published (hopefully around autum), I’ll send you some more info.

Best,
Max

1 Like

Updated to Steamworks SDK 1.42

precompiled .dlls included for x86 and x86_64

Commit Details

1 Like

Hi @BlizzCrafter,

Updated to the newest Steamworks SDK 1.42. Thanks! Are you in this project together with Riley Labrecque?

Best,
Max

No, i’m currently alone on this project.

I plan to further enhance it with meaningful samples for the MonoGame community, like how to create a Workshop and how to use the Steam Controller in a MonoGame project.

But i’m very busy and I can’t tell when this will happen.

Thanks for your interest and have a nice day!

Curious… Anyone got the Steam overlay working with WindowsDX? I’ve got Steamworks running fine and initialized and even reading my profile ID and avatar, but I can’t get the overlay to work. The sample is DesktopGL and I’m wondering if that’s the issue.

It’s working fine for me, but I’m on an older 3.7 dev branch version, not on the latest.

Okay that at least tells me it’s not that. Thanks!

  1. Try to run your application directly from Steam.

  2. Please take a look at the official support site

The overlay is working fine in the example app being run from outside steam so I don’t think that’s it. I’ve tried it with my app id as well as the standard ‘test’ id of 480. Like I said everything is working but the overlay. shrug

No, the DirectX version behaves differently / the overlay gets differently injected.

I can only open the overlay in a DirectX project, when launching the corresponding app from the Steam-Library.
Within a DesktopGL project the overlay is even working in a quick debugging session.

You can test this in a fast way by adding your application as a “Non-Steam-Game” to your library.

There is a high chance that this is working for you. If it’s not, then you need to take a closer look at the support site, which I have posted above.

1 Like

Yep that did it… Interesting that the DX and GL behave so differently. All Good. Thanks for the tips.

1 Like