Odin bindings for Valve's Steamworks API. Includes a binding generator.
The Steamworks API allows your game to take full advantage of Steam by accessing all of the underlying systems provided through the API. This includes things such as pausing your game when the user opens the Steam Overlay, inviting friends to play, allowing players to unlock Steam Achievements, letting players compete on the Steam Leaderboards and much more.
the Steamworks API also includes the Steam GameNetworkingSockets
Current Steamworks SDK version: 1.60
Latest tested Odin version: dev-2024-09:c6b551d2c
- Copy the steamworks folder into your project
- Copy
steam_api64.dll(not thesteam_api.dll!) next to your exe - Create a
steam_appid.txtwith your steam app ID. Use480for testing purposes
Take a look at the example to see the API usage.
- copy
steam_api64.dllto the example folder (Windows) cd exampleodin run .
Initially a custom generator was used to create the bindings, which was removed in commit ddd0f5a.
It used the steamworks_api.json to generate a single source file.
Note: The naming is slightly different than in the C/C++ API. For instance, things aren't prefixed with Steam, m_, k_, etc. Also _t suffixes for structs aren't used.
Contributions are welcome, especially bugfixes! Please submit a pull request here on Github.