Links
🧅

Architecture

Ogres have layers ... and so do we

Like what your 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!

Introduction

Heathen's Steamworks is built in layers of abstraction providing you with a rang of options for doing most anything. Rather your looking for a code free production ready drag and drop solution ... or a battle tested and hardened tool kit to empower and accelerate your engineering/programming team ... we help you Do More!
😨
I'M OVERWHELMED AND CONFUSED !?!?!?!?!?
Take a deep breath and relax, the layered approach isn't making things harder it simply gives you more control and more options.
You can use any level of tool you like, mixing and matching as you see fit, to include using the raw Steam API and all of our tools will simply work with you. Everything we provide is built upon the lower levels right down to the raw Steam API so there is no black magic to get in your way.
We provide these layers of tools so that you can always do what you need with minimal effort be that production ready tools for your designers, or API wrappers that empower and accelerate your engineers.
Rather your looking for code free drag and drop solution to fill some common need
Or looking for a simpler easier to use set of tools to help you create your custom features
Or just looking for a tool to take care of the boiler plate code and then get out of your way
Heathen's Steamworks has tooling for you

Layers

Prefabs

Unity Only Our prefabs use 1 or more of our components to give you a production ready working tool to meet a specific need. From Leaderboard Lists, To Party Lobby we have drag and drop code free, ready role tools to meet many common needs and are adding new one all the time.

Components

Unity Only Component scripts that can be added to GameObjects exposing common features and functionality to the Unity Inspector. These components expose the events, callbacks and functions such that you can easily connect them to your own GameObjects, scripts and systems.

Objects

Unity Only ScriptableObjects that encapsulate Steam artifacts and concepts allowing you to easily reference them in your own scripts and with our components. This lets you create a reference to say a stat, achievement or leaderboard and drag and drop that leaderboard, stat or achievement from your Steam Settings onto your GameObject

Data

Light weight structs that encapsulate Steam concepts simplifying use of common Steam features like Lobby, Clan, Stat, Achievement, Item, Leaderboard and much more. These structs are implicitly convertible to and from the Steam native IDs and the underlying primitives.
This means you can convert a simple string to an achievement and use its features
AchievementData myAchievement;
myAchievement = "my_achievement_API_name";
myAchievement.IsAchieved = true;

API Wrapper

Wraps the underlying Steam API making it more "Engine Centric" for Unity as an example this means we wrap all of the C style callbacks and callresults with UnityEvents
Our API wrapper makes the Steam API far less cryptic and far more C# and engine relevant enabling your engineers and programmers to work with it much more natively than with the raw Steam API.

Steamworks.NET

A 1-to-1 C# conversion of the native Steam API.
Steam API is written in C/C++ using style that is not typical for modern game development.
Steamworks.NET does not change or adapt anything here, it simply acts as a true to form C# .NET wrap of the native Steam API. Consequently this means Valve's documentation is fully applicable to it and anything built for the native Steam API will just work with Steamwork.NET pending only a language conversion.
Last modified 1mo ago