[SOLVED] Uploading my game to STEAM from Mac

Good morning, people.

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.

  1. I signed up for Steam, filling in everything I was asked and i have the account ready.

  2. I created a new application inside.

  3. 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.

  4. 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.

  5. 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.

  6. I opened the files and changed the IDs again.

  7. 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:

  1. Am I in the good way or is there another simpler way to upload my game to Steam?

  2. 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:

bash ./builder_osx/steamcmd.sh +login username password +run_app_build … /scripts/app_build_342980.vdf +quit

But I have not been able to interpret it (can anyone give an example with real data?).

  1. My game also works under windows. Do I have to do the same but running the steamcmd.exe file? I understand I can’t do it since my Mac.

Well, thank you in advance.

2 Likes

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.

Hi, Baste.

Thanks for your reply. Steam has this video:

from two years ago. On the video, they explain how to do it for windows version, but my doubts are mainly four:

  1. Is there today an easier way to upload binaries?
  2. If not, How works on Mac terminal?
  3. Can I use a Mac for uploading windows versión?
  4. If the answer to the point number 3 is “yes”, ¿how can I do it?

Thanks. I hope someone here can help with his experience.

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.

2 Likes

If your game is small enough you can upload it via their website directly, but honestly I’d get used to steam pipe instead

1 Like

yeah i do the same. Super easy once it’s all set up. For other updates you can publish to beta branch for testing within steam.

Setup was just like changing a few app ids and targeting the depot id.

1 Like

Thanks for your answers. I have some questions:

  1. Can I use a Mac for uploading windows versión?
  2. Do you have an example for the content in steamcmd.sh? Something like this but with “real” data:

bash ./builder_osx/steamcmd.sh +login username password +run_app_build … /scripts/app_build_342980.vdf +quit

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.

That’s not true. You can specify the executable to be launched for every platform, that’s absolutely independent from your product name on Steam.

Were is that option? Unity support does not even know about it since I reported this to them and they said thats how it is.

4866545--468794--upload_2019-8-17_10-40-52.png

4866545--468797--upload_2019-8-17_10-41-36.png

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.

Its you that are moving it. I complained about how you pin point executable names in STEAM

edit: I build my game on a build server, so technically I can rename the Data folder and the exe, but who knows which side effects that will have

Thanks for your replies, but I am afraid we are moving the point of this thread.

The questions are:

  1. Can I use a Mac for uploading windows versión?
  2. Do you have an example for the content in steamcmd.sh? Something like this but with “real” data:

bash ./builder_osx/steamcmd.sh +login username password +run_app_build … /scripts/app_build_342980.vdf +quit

Any extra information about uploading a game from a Mac to Steam using steampipe will be great and a big help for me.

Thanks.

Well, solved.

Here the example you need write in Mac terminal:

bash /Unity3D/STEAM/sdk-2/tools/ContentBuilder/builder_osx/steamcmd.sh +login myCompanyUserName miSecretPassword +run_app_build …/scripts/app_build_XXXXXX.vdf +quit

3 Likes

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

Only way I know of, is to rename the resulting Data folder and exe. And we do not know if there are side effects of doing that

What exactly do you zip via the website? Just the .exe file? So I don’t need the SDK if I do it that way?

This is a job for Steam’s documentation and support, not Unity’s.