Links
🟦

Steamworks

Heathen’s Steamworks is a set of tools, systems and editor extensions designed to make integrating Steam easier, faster, and more robust. Helping you Do More rather your a beginner or a pro.

Like what you're seeing?

Support us as a GitHub Sponsor and get instant access to all our assets, exclusive tools and assets, escalated support and issue tracking and our gratitude. These articles are made possible by our GitHub Sponsors ... become a sponsor today!

Do More

Become a Sponsor and get all of our tools for 15$ it's the best way to Do More!
Available for Unity 3D and Godot (mono)* * Foundation is available for Godot now with Complete in development and coming soon.
We take the strength of Steamworks.NET, and the parody it has with the native APIs, and expand on that with engine-centric tools, editor extensions and more!
Heathen's Steamworks Complete is the best possible option for Unity & Godot (mono) developers looking to integrate with Steam API.

Key Features

Full Coverage

Heathen's Steamworks Complete covers every aspect of Valve's Steamworks API. Without tools, there is nothing you cannot do that Steam supports through the Steam API. So much more than "Just Another API Wrapper".

Build Upload Tool

Build and upload your game to Steam right from the Unity editor with our Steam Content Builder integration.

Networking Integrations

We work Mirror, FishNet and NetCode for GameObjects, to insure the related Steam Networking Socket transports from each work as expected with our integration. In the case of NetCode for GameObjects we are the author of the community SteamNetworkingSocketsTransport itself.

API Extensions

C# and Unity centric, we wrap every feature, every method, and every callback in C# and engine-specific tools making Steam API feel and work "native" to the engine you using.

Steam Artifacts

Every Steam artefact (lobby, achievement, DLC, user, etc.) is exposed to a simple struct in a layer we call the Data Layer, enabling you to leverage the power of Steam API in an object-free pure code manner suitable for DOTS and similar paradigms.

Components

Major systems and concepts have manager scripts ready for production enabling you to implement almost any feature via simple in-editor configuration with little or no coding required. Our battle-tested and proven components will save you time and struggle rather you are new game dev or a veteran Steam Developer.

Prefabs

We have created a set of prefabs for the most common use cases giving you a drag-and-drop code-free solution fit for production. Built on standard engine concepts these prefabs are easy to use and easy to customize delivering specific functionality with zero hassle.

Battle Tested

Trusted by thousands of developers we have been hard at work on this tool for more than a decade. The Steam Curator link above is just a few of the works our community have published covering many genres and demonstrating a wide range of examples from small passion projects to major commercial products.

Built for You

Our tools are built in layers from powerful APIs and Frameworks up to code-free solutions. No matter your need, skill level or discipline our tools can help you Do More!
Whether you're new to Steam, or game development in general or maybe a seasoned veteran well capable with the Steam APIs, Heathen’s Steamworks can greatly accelerate your project and help you produce a more robust product that better leverages the services offered by Valve.
From top to bottom, each layer offers a level of simplicity and abstraction, you can mix and match as required to meet your project's and team's needs.

Prefab & Tool Layer

Provides a range ready to use prefabs and simple script components that allow many common requirements to be handled completely code free. All are built on our easy-to-use Components Layer.

Components Layer

We provide flexible and powerful tools in the form of component scripts and scriptable objects that simplify the use of every major Steam feature in the editor with little or no code required. All are built on our easy-to-use Data Layer.

Data Layer

Our "data layer" is a set of structs and tools that simplify working with Steam's concepts and artefacts such as UserData, LeaderboardData, AchievementData and more. These greatly reduce the code and effort required to accomplish any task. All are built on our robust API Layer.

API Layer

Every endpoint and interface of Valve's Steam API has been expressed in a C# and Unity (or Godot) centric API. This means no need to mess with callbacks, manage operation queues cast and convert between various primitive and native types, etc.
The API Layer coupled with the Data Layer empowers programmers and engineers to work more efficiently and maintainable with Steam API and is built around the Native Steam API vis Steamworks.NET

Feature Comparison

Heathen's Steamworks integration is available in two forms
  • Foundation This is a lite version available for free and is a great alternative to raw Steamworks.NET or Facepunch in that it will handle the core of Steamworks integration for you reliable and tried and true manner.
  • Complete This is our "full fat" tool covering every aspect of the Steamworks API, providing you with invaluable tools, systems, components and code-free solutions to help you Do More with Steam API.
Features
Foundation (free)
Complete
Steamworks.NET
Facepunch
License
Free
Free
Free
Full API Supported
Mostly
Documentation
Knowledge Base
Knowledge Base
Valve Docs
Wiki
Support
Dedicated + Community
Dedicated + Community
GitHub Issues
Not Found

Editor Tools

Achievement UI Tools
Build Upload Tool
Chat UI Tools
Group / Clan UI Tools
User Profile Tools
Leaderboard UI Tools
Lobby UI Tools
Debugging Tools

Data Layer

Achievements
App
Group / Clan
DLC
Game
Input
Inventory
Leaderboard
Lobby
Stats
User / Friend
Workshop

API Extensions

Application
Authentication
Big Picture
Groups / Clans
User / Friends
Steam Input
Inventory
Leaderboard
Matchmaking
Overlay
Parties
Remote Play
Remote Storage (cloud)
Screenshots
Stats & Achievements
UGC (Workshop)
Utilities
Voice

Heathen vs Steamworks.NET

Heathen Engineering's Steamworks are built on top of Steamworks.NET. The Steamworks.NET project is designed to be a direct 1 to 1 wrapper around Valve's Steam API wrapping the native C and C++ interfaces up in a C# plugin.
Steamworks.NET is authored by Riley Labrecque and is the only reason our Steam integrations exist. Pop over to his sponsor page and buy the man a beer at the very least.
Steamworks.NET gives the best access to Valve's APIs and does so true to the original so that the original documentation and decades of community guidance are still applicable. The drawback to Steamworks.NET is that it is true to the original API using programming styles and approaches foreign to most game developers and very clunky at best to use in Unity or Godot scripting.
Heathen has wrapped every relevant interface in Steamworks.NET with our static APIs delivering a simpler more robust tool set with every drop of power of the source Steam API and with that raw Steam API still available to you.
Heathen's Steamworks does not replace Steamworks.NET - it builds on top of it and provides you with a set of battle-tested and developer-approved tools and systems written with Unity in mind.

Heathen vs Facepunch

Facepunch is another C# wrapper just like Steamworks.NET. however, unlike Steamworks.NET it does not attempt to remain true to the original API as a result the existing community and documentation around Steamworks is less applicable.
Facepunch's stated goal is to make a C# focused wrapper that is to exploit/leverage the benefits of C#. This makes most of the code you would need to write shorter / more C# programmer friendly. It however also makes it alien to Valve's documents and its wider community and while Unity uses C# as its main scripting language it does so in a "Unity" way for example C# would use event delegates, in Unity we use UnityEvents.
Heathen does similar in that we are here to make the Steam API more friendly to a specific audience, only we are Unity-centric not just C# centric. We have wrapped the complexities of Steamworks.NET making it quick and easy to integrate for C# programmers, Unity-specific programmers, Unity designers and hobbyists that prefer to use tools like Bolt or work through inspectors to get the job done. We chose to build on top of Steamworks.NET so that the dev that wants/needs to can still leverage the decades of community guidance on the source API only needing to convert C/C++ to C#.
Because we are built on top of Steamworks.NET which is its self a true to form wrapper around the native Steam APIs many tools, assets, etc. built for Steamworks.NET or Valve's original Steam API simply work, that is not the case for Facepunch which often requires its own flavour of a tool to work.