I come looking for wise tips, because after developing the video game I had in mind, I got stuck in something I didn’t expect. The point is I want to publish a first version of the game (to be tested by trusted people) on STEAM. I tell you what I’ve done so far and where my doubts/problems begin to arise.
I signed up for Steam, filling in everything I was asked and i have the account ready.
I created a new application inside.
I thought that the way to upload my game would be similar to the one they have on Android and iOS, that is, that the Steam website itself would let me upload the necessary files for the execution of the game. But after a lot of searching in the Steam interface and not finding a place to upload binaries, I investigated more carefully online and the conclusion I took is that this whole upload process has to be done through what they call SteamPipe.
I started to investigate how the SteamPipe thing works and the first thing I did was go to the Steam page (developer zone), go to the SteamPipe/repositories section and create a new one.
I downloaded the steam SDK on my computer and searched for the app_build_1000.vdf and depot_build_1001.vdf files. Here I changed the 1000 and 1001 to my app ID and my repository ID respectively.
I opened the files and changed the IDs again.
In depot_build.vdf I changed the LocalPath parameter to point to the place where I was going to paste the mygame.app created by Unity (I’m testing the mac version first).
Now come my doubts:
Am I in the good way or is there another simpler way to upload my game to Steam?
In case of going well, I know that I have to run the file in the terminal steamcmd.sh but I do not quite know what parameters to pass it. I read on a site that would be the following:
I seem to remember that last time I was involved in this process, the documentation in the steam developer portal was decent enough, with step-by-steps on how to do this. It might be that it was a bit clunky to find those docs, though.
Have you looked through the devportal docs? I swear they are… somewhere.
I have no idea how to do things on a mac, so I can’t help you there. Aslo, I doubt Steam has improved the process since two years ago, they don’t move very fast.
It is a pain to initially set up, but it isn’t that bad afterward. My game is getting pretty large, and I like that they reduce upload times by only sending new or changed blocks. So all you do after having done it once is delete everything in the content folder, copy your new build there, and run the bat file to upload. Done other than setting the new build to be pushed out to users in the steam publisher site.
Latest version of the Steam SDK seems to work the same as it did 2 years ago.
Steampipe is a bit of a pain the first time you set it up, but it works really awesome. I absolutely love it. I build my game, copy it into my Steampipe content folder, run my batch file (to launch Steampipe), and then I select that new build in the web menu. Small updates to a game only take a short period of time to upload this way, because Steampipe only uploads the changes. And it has build in support for managing multiple platforms. When I run my batch file, it automatically and quickly updates PC, Mac, and Linux. Anyway, I really do love Steampipe.
I wish we could have different executbles in different branches on steam. Unity changed naming standard somewhere down the line in 2018. So now it uses the product name for the executable name instead of letting the user set the name like before.
So in our case VirtualWarfighter.exe now becomes Virtual Warfighter.exe. If we change the exe name on steam the version that is out will break and people will not be able to start the game.
Actually excutable name should be tied to the steambuild not branch btw. Because when you release a new build it will take some time for all players to get the new version, steam sometimes require a restart for the update to take.
So potentielly both exe names can exists side by side for hours.
Ah, sorry, I read Steam because that’s a Steam thread not a complain about Unity one. I should read more carefully and you shouldn’t move the topic to something unrelated.
Building via script instead of the UI should still be able to name the executable the way you want, I think I did this once with 2019.1.
You could either write a custom build script in Unity (this change doesn’t affect their API for making builds, only their included build window) or write a script to change the names after the fact