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
- Put
steam_api64.dll
next to your exe - Create a
steam_appid.txt
with your steam app ID. Use480
for testing purposes
Take a look at the example to see the API usage.
- put
steam_api64.dll
to the example folder (Windows) cd example
odin run .
The generator was used initially to make the bindings, and those are manually updated based on the changelog. So the generator is no longer needed, but it's here just for reference.
It uses the steamworks_api.json
to generate a single source file. Build the generator with odin build
commands.
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! Preferrably submit a pull request here on Github.