Debugging Tools
Last updated
Last updated
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!
The Steamworks Inspector requires the use of Steamworks Behaviour for the time being. That is if you want to use the Steamworks Inspector to review the state of objects in the editor then you need to be using the Steamworks Behaviour method of initialization as the inspector uses the Beahvioru to run corioutines and similar.
When toggled on Heathen's tools will write additional verbose information in particular around initialization which is the most common point of error. If you have not finished testing and are not building a fully tested, production-ready, release build ... then you should have this turned on.
Heathen provides a powerful inspector that will show you the states and values of all Steam API artefacts configured for your project.
To Access the inspector simply open the Window > Steamworks Inspector menu.
or
The Home page of the inspector displays core values for your user and the app its self. This is the first place you should check, and you should do the following
Is the Initialization Status = Initialized?
Is the Listed App ID what I expect it to be?
Is the Reported App ID the same as the Listed App ID
Is the steam_appid.txt the same as the Listed App ID
Is the displayed user me / who I expect it to be
If you answered no to any of the above questions your issue is on step 1. That is you are not configured correctly to initialize Steam and or you do not have the Steam client up and running with a valid user logged in.
If for example, you find that the App ID does not match then what you most likely did was to change the App ID in the Steam Settings file but did not fully shut down Unity, Visual Studio and absolutely everything else that might have mounted it; e.g. Unity, Visual Studio or any related process.
The reason this happens is that Valve will not release app initialization until every process that mounted its handles has closed. This is the single most common issue we have reported.
This indicates the status of the Steam API and will have one of the following values
Idle This means the API is not, nor has it attempted to initialize. The status will say this anytime the simulation is not running ... that is you must press play for this to work at all.
Initializing This means the API is trying to initialize, this generally happens very fast so you may never see this.
Initialized This means the API is initialized and that the values reported are as reported by the API
Error or Failed This means the API failed to initialize, check your Unity Editor console log for details as to why
This is the App ID that appears in the active Steam Settings object. It should match the other listed IDs
This is the App ID that Steam API has reported back to us when asked. As far as Steam is concerned this is the App ID you "are"
This is the App ID that is currently recorded in the steam_appid.txt file
You can use the Stats tab to view and update the value of all registered stats
You can use the Achievements tab to view and unlock/reset all registered achievements
You can use the Leaderboard's tab to view your score and rank on all registered leaderboards. Leaderboards while one of the simplest aspects of Steam API are also one of the more fragile aspects.
Common issues seen with Leaderboards include
You have the sort order set incorrectly
You have the leaderboard set to trusted only
You made changes in Steam Developer Portal and didn't publish them
We do on occasion see leaderboards "break", this is typically a problem when you change values on the board or delete a board and make a new one with the same name but different settings. In most cases its easiest and best to simply make a new board with a new unique API name.
If you need to repair a board that is misbehaving you will need to contact Valve's support as these are backend features Heathen can not see nor effect.
You can view the subscription status of all DLC in the DLC tab
The inventory tab will display all the items registered to your game and provides tools for clearing and granting each item
The lobbies tab will populate a sub-page for each detected lobby and will display the list of members and the lobby's metadata.