Steamworks.NET is a C# Wrapper for Valve's Steamworks API, it can be used either with Unity or your C# based Application. This project relies on dynamic libraries created by CSteamworks. (Prebuilt and included for ease of use)
Steamworks.NET was designed to be as close as possible to the original C++ API, as such the documentation provided from Valve largely covers usage of Steamworks.NET. Niceties and C# Idioms can be easily implemented on top of Steamworks.NET.
Steamworks.NET currently supports Windows, OSX, and Linux in both 32 and 64bit varieties. Currently building against Steamworks SDK 1.31.
- Author: Riley Labrecque
- License: MIT
- Discussion Thread
- Reporting Issues
- 1-on-1 support is available by donating $40 USD or greater.
- Support can be obtained via Email, Skype, or Steam
- I can only help with Steamworks.NET specific issues, general API questions should be asked on the Steamworks discussion board.
To use Steamworks.NET you must be a Steamworks developer. Steamworks.NET requires Unity Pro for the plugin functionality.
- Download the .unitypackage Stable (5.0.0) or Clone from Github
- Extract and copy Steamworks.NET's
Plugins/
andEditor/
folders into yourAssets/
folder. - Open
Plugins/Steamworks.NET/redist/steam_appid.txt
and replace480
with your own AppId. - Launch your Unity project. The included editor scripts will copy steam_appid.txt (and steam_api.dll if your on windows) into the root of your project.
- Close Unity and relaunch the project so that it loads the freshly copied steam_appid.txt & steam_api.dll.
Check out these sample projects to get started:
If you are not using Unity then you have two available routes that you could take.
- A: The peferable route is to build the standalone assemblies with the project file located in
Standalone/
. Alternatively you can download the prebuilt binaries which are available on the Releases page. - Further instructions are provided by the README.md in the
Standalone/
folder. - B: Copy
Plugins/Steamworks.NET
into your C# project. In Visual Studio open your project properties, change to the Build tab and defineSTEAMWORKS_WIN
orSTEAMWORKS_LIN_OSX
globally viaConditional compilation symbols
. - This is only recommended if your binary is not portable across platforms already. If you ship on multiple platforms you must have multiple build targets for each platforms. Please prefer the second route.
If you wish to use the functions from sdkencryptedappticket.dll
then you will need to manually place the dll/so/dylib in the following location:
- Windows: Next to steam_api.dll
- OSX: In
/Contents/Frameworks/MonoEmbedRuntime/osx/
- Linux: Next to CSteamworks.so
sdkencryptedappticket.dll
can be found in the Steamworks SDK in Valve's partner backend. Ensure that you get them from the same version of the SDK that Steamworks.NET is built against. (Usually the latest.)