โ๏ธQuick Start
Taking your very first step!
Like what you're seeing?
Consider supporting us as a GitHub Sponsor and get instant access to all our Unity 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
Your first step is to navigate to partner.steamworks.com we strongly recommend you create a new Steam account to represent you as a publisher or developer separate from any personal account/s you might have. Remember, new Steam accounts start as "limited" Put $5 in your Steam wallet to get around this.
Steamworks has its very own Getting Started guide ... read it and follow it
Sign-up to Steamworks
If you read the getting started article linked above and followed its instructions you should have already been guided to pay the Steam Direct fee which will get you your first App ID.
Do I need it to get started?
Technically ... for the very first step ... no. In reality absolutely yes, you can't do anything meaningful without your App ID.
You can test some features of Steam API using the test application "Spacewars" whose app ID is 480. This is the app ID we use in all of our Steamworks sample scenes and doesn't require you to be signed up to use it.
Having said that you can't do anything meaningful with the test app, it exists as a teaching tool. To create the stats, achievements, leaderboard, workshop, etc. for your game you will require an App ID and we do recommend you do this as soon as you are sure you want to release your game on Steam ... no reason to wait.
Steamworks SDK - aka Steam API
Once you're all set up as a Steam Developer and have your App ID your next step should be to get familiar with Steamworks and what it has to offer.
Steamworks is a dense topic with loads of features that can and will benefit any game. Be sure to check out our article on Steamworks, this is one of those things in life where it's better to read first and then do, than it is to YOLO it.
Tools
Already fully understand what Steamworks is and how it can benefit your project? Great ... now your ready to integrate it with your project.
Heathen's Toolkit for Steamworks SDK is the best tool for Valve's Steamworks SDK in Unreal, Unity or Godot (preview). The tool has been maintained and updated for over a decade, is trusted by thousands of developers and drives hundreds of games on Steam. Toolkit for Steamworks is more than just an API wrapper, it includes engine-specific tools and systems on top of a complete integration of Valve's Steamworks coupled with rich documentation, best/good practices and a helpful community.
Unlearning Bad Habits
Unfortunately, there is a lot of just bad samples and example code out there, especially around Steamworks / Steam API for Unity. Even Unreal's own built-in Online Subsystem Steam and Steam Sockets plugins are very out-of-date and make some odd uses of the API that do not align with "good practice" as defined by Valve. Here are some common things you might have picked up or learned that you should throw out right now.
Unreal's Online Subsystem Steam
1st understand what an Online Subsystem is. ... TL;DR is not a fu