Steam does not take the web build. That is the first thing to understand, and it decides most of the work: your game currently exists as a WebAssembly bundle running in a browser, and Steam wants native executables for Windows, and ideally Linux as well. Everything below follows from that.
The good news is that a vbgnt game is an ordinary Godot 4 project, and Godot exports desktop builds from the same project with no code changes. The work is real but it is not a rewrite.
What it costs and how long it takes
Two numbers to plan around. The Steam Direct fee is $100 per product, not per account, and it is recoupable against the payment made once that product has earned $1,000 in adjusted gross revenue. And after you pay it there is a mandatory 30-day wait before you can release, which Valve uses to verify your identity. Both figures were current in August 2026.
So the realistic timeline from "I want this on Steam" to "it is on Steam" is about five weeks, and the per-product fee means shipping every game your studio makes is a habit that gets expensive fast. Pick the one that earned it.
Step 1: get the project onto your machine
Before you touch anything, get a feel for the desktop version as it stands: in the studio, open the game, switch the right-hand pane to Publish, tick Windows and Linux, and press Export. A few minutes later you have single-file binaries to run on your own machine. Most of what this guide asks you to fix, you will see in the first minute of playing one.
Then get the project itself: the Files pane downloads the whole thing as a zip. Install Godot 4 and its export templates, open the project, and confirm it runs in the editor before changing anything. If it runs there, the desktop export is mostly configuration.
Step 2: make it a desktop game
The build was shaped for a browser tab. Four things usually need attention, and none of them are hard:
- Hide the touch controls. vbgnt games show on-screen
controls when
DisplayServer.is_touchscreen_available()returns true, so on a desktop they should already be hidden. Verify it rather than assume it, because a stray always-visible joystick reads as unfinished. - Add a way to quit. A browser tab has a close button and a desktop window needs your game to provide one. A pause menu with Quit, and Escape doing something sensible, is the whole fix.
- Handle windowing. Set a sane default resolution, support fullscreen toggling, and make sure the UI survives an ultrawide monitor. The web build only ever had one aspect ratio to worry about.
- Check where saves go. Anything written to
user://works on both targets. Anything that assumed browser storage directly does not.
Leave the renderer alone. vbgnt games export with the Compatibility renderer so they run in browsers, and Compatibility works fine on desktop. Switching to Forward+ for better lighting is a real option, but it is a visual change that needs testing rather than a free upgrade.
Step 3: export Windows and Linux
Once the desktop fixes are in the project, the export is the studio's
job again. Upload or edit the changed files from the Files
pane (or ask the agent to make the changes), then run Publish
with Windows and Linux ticked. Each comes
back as one executable with the game data embedded, which is the simplest
shape for a Steam depot: one file per platform, nothing to keep next to
it. The Linux build is worth shipping even if you think nobody uses it,
because it is what gives you a good story on Steam Deck. A game that runs
natively there avoids the entire Proton compatibility question. Tick
macOS as well if you want a Mac depot: the pane exports
a universal, ad-hoc signed .app, and a build installed
through the Steam client does not go through the Gatekeeper prompt a
direct download would. Set the Apple bundle ID field the
pane shows for macOS before that first upload; it becomes the app's
identity.
Every export gets a version number that ticks up per game and is baked into the Windows file properties and the macOS bundle, so a bug report from a Steam player tells you which build they have. The export guide lists exactly what each package contains.
If you would rather export from your own machine, add export presets for Windows Desktop and Linux in Godot and export both. Either way, test the binaries by running them, not by trusting the export. Missing resources and shader failures show up at launch and nowhere earlier. The studio's builds are unsigned, which Steam does not mind; SmartScreen on a direct Windows download would, but that is not the route a Steam player takes.
Step 4: Steamworks paperwork
Register as a Steamworks partner, then work through the identity, tax and banking forms. This part is genuinely tedious and it is where the 30-day clock starts. Do it early, in parallel with everything else, rather than treating it as the last step.
Then create the app, pay the $100, and complete the content survey that determines your store page's age rating and content warnings. Answer it accurately. Getting caught understating content is a much bigger problem than the warning itself.
Step 5: the store page
This is where most of the actual effort lands, and it matters more than the build. Steam wants a specific set of capsule images at specific sizes (header, small capsule, main capsule, vertical, library art and a page background), at least five screenshots, and a trailer.
Use the cover art the studio generated as your starting point rather than gameplay screenshots. Generated key art tends to read well at capsule size, which is exactly where a screenshot of a small game does not.
Write the short description as the mechanic, not the genre. "You can hold the lamp or use your hands, never both" tells someone whether they want it. "An atmospheric platformer" does not.
The marketing kit does the Steam set
Steam is the strictest store about assets, and it is the store the studio's marketing kit was built around. Scroll past the exports in the Publish pane to Marketing kit, tick Steam, press Generate kit, and the agent plays the deployed game and produces the Steamworks upload set at its exact sizes:
- The header capsule at 920x430, the small capsule at 462x174 with the logo checked to survive Steam halving it, the main capsule at 1232x706 and the vertical capsule at 748x896, plus the page background with no text on it.
- The library set: the 600x900 library capsule, the 3840x1240 hero, the transparent logo on a 1280x720 canvas, and the library header.
- The community icon and the client icon source.
- At least five, usually eight, raw 1920x1080 gameplay screenshots from an actual session, with no captions or frames, verified byte-identical to the captures they came from, because Steam rejects the doctored kind.
- A listing file with the 300-character short description, the About This Game text with its feature list, the mature content answer, genres, up to twenty tags in priority order, the feature checkboxes it can honestly tick, and a table mapping every file to the Steamworks field it goes in.
Capsules carry only the art and the name, because since 2024 Steam removes pages with review quotes, badges or dates baked into them. What the kit leaves for you is written in its README: the release date, the support email, the developer name on the legal line, and the system requirements, which it refuses to invent. See the marketing kit post for what a Steam kit looks like for a racing game.
The trailer
Steam will not publish a page without at least one video, and this is the asset people leave until last. Every Steam kit ends with a trailer plan: a 45-second beat list with the inputs that produce each shot and the caption for it. Once the kit is done, a Make trailer button hands that plan back to the agent, which records each shot with the engine's own movie-maker mode on a throwaway copy of the project, at a fixed 30 frames per second with the game's real audio, and cuts it with the copy cards and the game's own music. Out comes a 1920x1080 MP4 that opens on gameplay, as Steam requires, ready for the Steamworks video upload.
Step 6: upload the build
Steam builds go up through SteamPipe, using the ContentBuilder tools in the Steamworks SDK. You define a depot per platform, point a build script at your exported folders, and run it. The first configuration is fiddly; every upload after that is one command.
Set a default branch, install the build on your own account through Steam, and play it from the Steam client before you go anywhere near a release date. Builds that work standalone and fail through Steam are usually a depot path problem.
A page to point the wishlists at
Steam pages are hidden until you release, and the 30-day wait is
exactly when you want somewhere to send people. Tick vbgnt
page in the same marketing kit and, when it finishes, press
Publish page. The game gets a page of its own at
games.vbgnt.com/p/ followed by its id: the hero art, the
trailer, the screenshot gallery, how to play and controls, the features
list, and a play-in-browser button that runs the web build in place.
Two settings matter for a Steam launch. Paste the Steam store URL into the page's store links and the page grows a Steam button, and the structured data on the page tells search engines the two listings are the same game. And if you would rather the Steam page were the only way in, untick Play in browser button: the Steam link becomes the primary button and the in-page player disappears, so the free version does not compete with the one you are asking $5 for. The page can also offer the Linux build from a finished export as a direct download, which is handy for Deck owners before the Steam build exists.
Do you need the Steamworks SDK in the game?
No, and this surprises people. A game can ship on Steam with no Steam integration at all. It just will not have achievements, cloud saves, the overlay, or rich presence.
If you want those, GodotSteam is the community GDExtension that binds the Steamworks API into Godot. It is well maintained and it works, but it is a genuine addition to the project rather than a checkbox. For a first release, shipping without it is a reasonable decision that you can reverse later.
Steam Deck is worth ten minutes
A vbgnt game is unusually well positioned here, because the studio wires full gamepad support into every game as a requirement. That is most of what Deck compatibility asks for.
The rest is small: make sure text is readable at 1280x800, that the game does not require a mouse for anything essential, and that it launches without a launcher. Ship the Linux build and you are close to a Verified submission for free.
The honest read
Steam is the friendliest of the three real stores to a small generated game. There is no minimum-functionality guideline waiting to reject you, no tester quota, and no Mac required. If your game is finished and yours, it will get on.
What Steam will not do is find an audience for it. The store has more games than anyone can look at, and a page with no wishlists at launch stays that way. The $100 buys you a shelf, not a spotlight.
Which is the argument for shipping to itch.io first. It is free and takes minutes, and if a game does nothing there, the 30 days and the $100 are unlikely to change its mind.
Frequently asked questions
Can I put the browser version of my game on Steam?
No. Steam distributes native executables, so you need Windows and ideally Linux exports of the Godot project rather than the WebAssembly build that runs on your arcade. The studio's Publish pane produces both as single-file binaries, so this is a configuration job rather than a rewrite: hide the touch controls on desktop, add a way to quit, handle windowing and fullscreen, then export again and test the binary by running it.
How much does it cost to publish a game on Steam?
The Steam Direct fee is $100 per product, not per account. It is not refundable but it is recoupable, credited back in the payment made once that product reaches $1,000 in adjusted gross revenue. Because it is charged per game rather than per developer, publishing everything a generative studio makes gets expensive quickly.
How long does it take to get a game on Steam?
About five weeks realistically. After you pay the Steam Direct fee there is a mandatory 30-day waiting period before you can release, which Valve uses to verify your identity. Start the identity, tax and banking paperwork early and run the store page and build work in parallel with the wait rather than after it.
How do I make the Steam capsules, screenshots and trailer?
In the studio's Publish pane, under Marketing kit, tick Steam and press Generate kit. The agent plays the deployed game and delivers the header, small, main and vertical capsules, the library capsule, hero and logo, the page background, community icons, at least five raw 1920x1080 gameplay screenshots, and a listing file with the short description, About This Game text, tags and an upload map to the Steamworks fields. A Make trailer button then renders a 45-second 1920x1080 trailer with the engine's movie-maker mode, since Steam will not publish a page without a video.
