Guide:Ren'Py visual novels on Steam/Demo

From VNDev Wiki
Revision as of 13:22, 19 February 2025 by Ironnori (talk | contribs) (images)

A demo can be attached to your full (paid) game, allowing players to download a free version of the game to try before they buy.

You can share Steam depots between your demo and full game (including assets), but for simplicity here, we're going to treat the Demo as an entirely distinct Ren'Py Project that generates an entirely distinct game build. (In other words, we will not share any depots, and therefore will not share any asset files, between the two.)

Note, as the documentation says, you will not be able to test a demo on the account you used to create the full game, as you cannot download a demo for a game you already own. Instead, you should create a test Steam account, request beta keys for the Demo after it's uploaded and published, and test with the test account.

Making the Steam Build in Ren'Py

As noted above, we're going to assume you have a completely separate Ren'Py project for your demo, that is not attempting to share any resource files with the full game.

We highly recommend setting a different save directory for your demo versus your full game so the two games do not share persistent state or save files. In options.rpy, you should see the following line:


define config.save_directory = "SOMETHING-12345678"

Ensure that this line is different from the corresponding line in your full game. If you change it, ensure that it contains only letters, a hyphen, and numbers.

If you set the Steam app id, make sure to update the value for the Demo, which will have its own app id.

Generate the game build for the demo project in the same way as for the full game.

It is recommended that demos do NOT have achievements. (If you want to include achievements, instead use multi-game persistence and pick them up on game startup in the full game… instructions for doing this are out of the scope of this guide.)

Create the Demo in Steam

From the dashboard, navigate to View Associated Items > All Associated Packages, DLC, Demos and Tools.

Click the "Add Demo" button under "Demos". This will create a new app that is very similar to your base game app.

Click on the demo name, and you should see a very familiar page.

Create the Store Page

Many of the same above steps apply, except the store requirements are simplified. Here's references back to the appropriate above sections that you'll need to complete for the demo.

You may also add distinct Library images, and we recommend you do so, as demos will show up as distinct games.

After these steps are complete, you can submit your demo's assets for review.

Upload Your Demo to Steam

Many of the same above steps apply. Here's references back to the appropriate above sections that you'll need to complete for the demo.

You may optionally configure Steam Cloud saves. After these steps are complete, you can submit your demo build for review.

Test Your Demo

As noted above, you won't be able to test the demo on the same account that you're using to create it, because the account owns the full game (and therefore can't download the demo.)

First, request beta keys for the demo project. Then, create another Steam account, redeem the key, and test the demo that way.

Again, you cannot test the demo from the same Steam account you're using to add the game to Steam because that account owns the full game. You must use a different account. The different account must also not own the full game, via a key or otherwise, including a beta testing key for the full game.

Release Your Demo

After your store page and build have been approved, you'll be able to release both. There is no two-week waiting period for a demo.

You can release the store page to show the demo as "Coming soon" (on the parent game's page, once that's live), and then actually release the demo so players can download it. As noted, you can also just outright release the demo, which will be available immediately (assuming your parent game's page is live). Remember that, once your store page is live, you'll have to Publish any new changes to either the store page or the build.

I recommend waiting until the full game's store page is live before making the demo live.