OmegaLeo's Helper Library - Steamworks
Lightweight Steamworks helper library for C# game projects.
This package provides a simple Steam API wrapper for common tasks like initialization, callback processing, player name lookup, and achievements.
Features
- Simple Steam initialization via
SteamManager.Instance - Per-frame callback runner with
SteamManager.Update() - Safe shutdown with
SteamManager.Shutdown() - Player persona name access with
SteamManager.GetSteamName() - Achievement helpers via
AchievementManager - Includes native Steam runtime files in NuGet package
runtimes/
Installation
dotnet add package OmegaLeo.HelperLib.Steamworks
Quick Start
using OmegaLeo.HelperLib.Steamworks;
// Optional but recommended for local/editor runs.
SteamManager.ConfigureAppId(480); // Replace with your real AppId.
var steam = SteamManager.Instance;
if (steam.IsSteamworksInitialized)
{
Console.WriteLine($"Welcome {steam.GetSteamName()}");
}
// Call this in your game loop (Unity Update, Godot _Process, etc.)
steam.Update();
var achievements = new AchievementManager();
achievements.UnlockAchievement("ACH_FIRST_WIN");
steam.Shutdown();
Notes
- Steam must be running and your app must be launched in a valid Steam context.
- Configure your AppId before first access to
SteamManager.Instance. SteamManager.Update()should be called continuously during runtime.- If Steam is unavailable,
GetSteamName()falls back to"Player".
License
Open source under the AGPL v3 License. See the repository LICENSE for details.