my game was just Greenlit and I’m preparing the Steam release. Now I’m checking the build / steampipe process and I’m completely lost. I found a few threads here and in other places about Unity 3D and Steam, and they basically say “use the steampipe process”.
I’m probably being dense, but I have no idea where to even start. I don’t need a build process, obviously, as Unity builds the app. All I need is maybe packaging and uploading. There are a bunch of exe files in the SDK which are of no use to me as a Mac user. The tutorial on the steamworks website doesn’t help me.
A thousand people before me have solved this problem, so it can’t be very difficult. Note that I’m not talking about the API and stuff, that is all very easy thanks to Steamworks.NET - I’m talking about packaging and uploading of my builds to Steam.
What obvious thing am I missing that this seems to difficult?
Between the official Steamworks docs and the Steamworks.NET docs we figured things out on OS X, but yeah, Valve’s docs did feel a bit terse at times. What do you need to know how to do?
You need to download the sdk, get the steampipe commands working and updated with your login (creating a separate Steam account just for builds is recommended in the docs), prepare your Steam account for uploads (by making depots that partition your content etc), prepare the vdf scripts that describe your builds for depots, then run the steampipe commands to test and upload your content. If you’re uploading OS X builds you’ll probably read something about ContentPrep to sort out permissions via an install script - we still use it, but I recently read that this is not needed any more if you’re uploading from OS X in a post on the Steam developer forums. After uploading you can then use the web admin to push builds to various branches for testing, betas, or live to the public if your app is released.
We automated some of our build processes (Unity editor scripts and some shell scripts) to make things a bit easier and you could probably automate the whole process end to end if you wanted to.
So, after skimming this post re-read the Steamworks docs, see if you can get the steampipe commands talking to Steam and updated etc. If you have any questions I’ll try to help out by remembering what I did when we set things up last year.
After some tutorials and experimentation, I got the steampipe commands working. I got the VDF scripts working by a combination of copying and outright guessing. :-/
I got my OS X build uploaded, but it doesn’t recognize my Windows and Linux builds and I have no idea why.
But yeah, essentially I was wondering why nobody has made the whole thing into an Asset Store package yet. Maybe I should sit down and make that package, it would probably sell well.
Nice. We use different depots for OS X, Win, and Linux builds. If you are, make sure your vdf scripts are using the correct depot id’s that you set up in the admin. Also, if you run in preview mode check the output files to see what the backend thinks is going on with the builds, what files are included, etc.
We asked Valve a few questions a while ago about Unity integration. The summary response was that they are not interested in supporting any api other than c++ or with integration in Unity as a platform, so it sounds like it’s in Unity’s hands for any Editor integration. They are, however, giving some support to Riley with Steamworks.Net as they realise it’s a very handy thing for Unity devs.