Javascript required
Skip to content Skip to sidebar Skip to footer

How to Upload Unity Project to Steam

I believe that many of you take idea of publishing a game on Steam. Information technology wouldn't exist surprising, asSteam is a nifty distribution platform for PC and now also for Mac and Linux games. Just Steam is non only about distribution. When you get approved byValve, you gain the access to something that may assist you a lot with your game development. This little matter is chosenSteamworks.

Steamworks features

Here's a listing of some most known Steamworks features:

  • Achievements – provide free grass roots marketing for your application. As players unlock achievements it exposes your production to their friends.
  • Error Reporting – provides expressionless simple error collection so that yous can quickly find and fix your most common bugs. With a few simple api calls Steam will automatically collect the most mutual crash reports for the game or software. You lot can then review mistake reports on the error reporting page, which you lot tin can discover from your application landing page in Steamworks.
  • Cloud Saves – is free storage that gives players power to play where they choose as well as the peace of heed tha they won't lose all the work they've put into your game. Cloud can also be used for software applications to store work-in-progress or special configuration settings.
  • Steam Workshop –  is a system of storing, organizing, and downloading user-created content uploaded through your application. This makes sharing custom levels, skins, or complete mods easy and convenient.
  • Other features to consider are stats, leaderboards, and multi-player matchmaking.
As you will accept Steamworks SDK terms & conditions you will get the access to official Steamworks SDK documentation.
Equally you lot volition accept Steamworks SDK terms & conditions you will become the admission to the official Steamworks SDK documentation.

Integrating Unity game with Steamworks

Steamworks SDK is distributed as a native DLL file (*.and then when talking virtually Mac and Linux). In order to brand information technology work with Unity you have to create a bounden. Fortunately such bounden already exists and it is distributed also as an easy to install,unitypackage file!

I am of course talking almost Steamworks.Cyberspace. Information technology'southward an open source wrapper distributed under MIT license (you lot're gratuitous to use it fifty-fifty in commercial projects!). The good thing nearly Steamworks.Internet is that the authors value API compatibility over simplicity. That ways that you only need a quick look over how it should be used and when you're familiar with the concept, all you need is the official Steamworks documentation. The downside of this approach is that callback setup need one extra pace, simply it'southward not a hassle.

Installation

To make Steamworks.NET  work you have to be aSteamworks developer and you demand an AppID (this is only a number in Steam database). At the time of writing of this article you tin become one after passing Steam Greenlight or by making a custom deal with Valve.

When you have acquired an AppID all y'all take to do is import Steamworks.Netunitypackage file to your Unity projection. At the fourth dimension of writing of this article the current stable version is vii.0.0, but please use installation page links instead to always get the latest version.

steamworks unitypackage installation

Steamworks.NET bundle includes libraries for Windows, Mac and Linux in x86 and x86_64 architectures. After importing information technology you don't need to add anything else to your projection. Even official Steam dll/and so is included, so there are only two more steps to go.

Afterwards importing the packet, a new file called steam_appid.txt will be created in your project root directory (this is the one that contains the Assets and Library folders). Open up it in the text editor and replace480 with your Steam AppID.

Finally, the last stride – create a new empty game object on your scene and add SteamManager script to it. At that place! Now you're practiced to get!

Checking to make sure it works

Make sure that Steam is running. Then create a script like this:

using UnityEngine; using Steamworks;  public grade SteamScript : MonoBehaviour {     void Showtime() {         if(SteamManager.Initialized) {             string proper name = SteamFriends.GetPersonaName();             Debug.Log(proper noun);         }     } }

Add this script to a new game object on your scene and hit the Play push. If everything is OK, you volition see your Steam proper noun in your Unity Editor console!

When something went incorrect y'all volition cease with an error message that may not tell you what exactly has gone wrong. If you're working on Windows and then you may want to getDebugView awarding. Simply run it earlier running your Unity game and after the fault is printed out, alt-tab to DebugView window and see if there'south something more in there.

More information and getting help

You can larn more nigh how to get started (and how callbacks should be handled) on the Getting Started page of Steamworks.Internet documentation. It you always feel lost, y'all tin can use SteamworksDev discussion group. Information technology'due south invite-merely so you should contact Steam about getting access to this ane. It is worth it!

steamworks discussion group

If you e'er feel lost, please go out a comment hither or reach the Knights using our Facebook page.

gattyshoundow.blogspot.com

Source: https://blog.theknightsofunity.com/integrating-unity-game-steamworks/