Analysis updated 2026-05-18
Add Steam achievements, friends lists, and player profiles to a Unity or C# game.
Read and write save files to Steam Cloud so progress syncs across devices.
Verify that a connecting player owns the game using Steam auth tickets.
Let players browse, download, and publish Steam Workshop content from inside the game.
| facepunch/facepunch.steamworks | telegrambots/telegram.bot | space-wizards/space-station-14 | |
|---|---|---|---|
| Stars | 3,622 | 3,622 | 3,614 |
| Language | C# | C# | C# |
| Setup difficulty | moderate | moderate | moderate |
| Complexity | 3/5 | 2/5 | 4/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires a registered Steam App ID and the Steam client running locally to test against.
Facepunch.Steamworks is a C# library that lets game developers talk to Valve's Steam platform from their own code. Steam offers a large set of features for PC games, including friends lists, achievements, cloud saves, workshop item downloads, player authentication, and in-game voice chat. To use any of that, game code needs to communicate with Steam through an official interface called Steamworks. This library wraps that interface in a way that feels natural for C# developers rather than feeling like a raw collection of low-level calls. The library was created by Facepunch Studios, the company behind Garry's Mod and Rust. The author describes it plainly as frustration with existing C# Steamworks wrappers. Those older options relied on external native files, were not fully up to date with the Steam API, could not be compiled into a standalone library for use in Unity, or carried restrictive licenses. Facepunch.Steamworks compiles to a single C# DLL, requires no additional native dependencies beyond Steam itself, supports Unity including Unity's IL2CPP compilation mode, and is released under the MIT license. The README is largely a code sample reference, showing how to do common tasks: reading the current player's Steam name and ID, listing friends, looking up achievements and unlocking them, recording and sending voice data, verifying that a player legitimately owns the game via auth tickets, reading and writing files to Steam Cloud, querying workshop items, and accessing the Steam inventory system. Initializing the library is a single function call with the game's App ID. It works on Windows, Linux, and macOS, and supports both 32-bit and 64-bit targets. The project is open source and hosted by Facepunch, and pull requests and bug reports are welcomed. Documentation beyond the README lives on a Facepunch wiki. The repository has over 3,600 stars.
A C# library that lets game developers connect their game to Steam features like achievements, friends, and cloud saves.
Mainly C#. The stack also includes C#, Steamworks SDK, Unity.
Free to use, modify, and share, including for commercial purposes, as long as the copyright notice is kept.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.