You will need to become a Steam developer before you are able to have your game available through Steam. You can do this through the Steam Greenlight process, or by going through a third-party publisher.
You will need to package your game separately for each platform; Windows, Mac, and Linux. Once you have your game packaged correctly, you’ll need to setup on Steam a depot for each platform, and set which depot corresponds to which platform.
To actually package your game, you can, in the UE4 Editor, go to File → Package Project → and select your options / target here.
As far as I know, the “Supported Platforms” in your project settings only warns you when you do something unavailable for one of your target platforms, and has no other impact.
Thanks! Very useful. So Steam will have one download link for the game but depending on what the user’s operating system is, Steam will select the specific depot for the user?
Yes, you configure it that way in the Steamworks website. You can have all platforms download one thing, or split it up based on different operating system / cpu architectures (32 vs 64 bit). Either way, the user only sees one purchase/install button and Steam does whatever you have configured.
Now would it be possible to leave PC, Mac and Linux checked, package one project and submit that to Steam? If there are no errors shouldn’t that one package be able to work for all 3 pc platforms?
You’ll want to have each platform you’re targeting (Windows, Mac, Linux, PS4, etc), to have their own packaged build. Each different target has different executable files that will only work on that one platform.