Steamworks Documentation
Demos
In Brief
Steam can host and distribute a demo version of your game that you can use to demonstrate part of your gaming experience.
Level of integration
Demos can range in size and scope, but generally are a small playable portion of your game that show some of the core mechanics and leave the player excited for more.

Overview

Steam has the ability to provide free demos for your customers so that they can try before they buy.

It's up to you whether or not a demo will be beneficial for your title, but there are a couple of useful things to consider:

  1. Quality – Customers are generally using the demo to make a purchase decision on your game. Make sure that what you put out there is high quality and measures up to the real experience.
  2. Timing – When you release your demo is also important. We generally recommend waiting until launch, but there are circumstances where putting a demo out prior to release is effective. If, for instance, you feel like customers need to touch the game to really understand it, then a quality demo prior to release can be useful.
  3. Length – You need to balance giving the customer enough content to get them excited, without giving away so much that they feel like they've experienced everything the game has to offer.

Configuration

Demos are a separate App ID that is associated with your full game's App ID.

The demo will need to be configured with depots, and builds must be created just like a full app. The demo will live on the base game's store page as a button where users can download and try out the game for free.

To create your demo App ID:

  1. From your base game's App Landing Page, click on "All associated packages, DLC, demos and tools."
  2. At the top of this page, click the "Add Demo" button.
  3. The demo you created has its own release checklist and configuration, similar to your base product.

To upload your demo build

Please see Uploading to Steam to get started with how to upload your demo build (make sure you use the App ID for your demo).

Testing your demo

To work properly for customers, your application type must be set as 'Demo' and the App ID of your base game must be entered in the General Application Settings section of the Steamworks website for your demo.

Your primary developer account will automatically own both the demo and the base game, thus only letting you launch the base game (this is default behavior for customers too, as there's little reason to let a customer launch a demo once they own the base game).

To get around this and test your demo, you'll need to request keys for your demo and activate them on test accounts that do not own the full product. You'll need to create a new Steam account and activate a key for your demo to fully test the installation and launching of the demo.

Note that you must create a second account to test the demo. Adding the demo into your default package, for example, will not allow you to test the demo and will break your ability to launch the title without getting Steam Support to help fix your packages.

Minimizing Upgrade Impact

There are a few things you can do to minimize the friction to upgrade from the demo to the full game.
  1. Share depots with the full app: For any content that's shared between the full app and the demo, put it into its own depot and mount the shared depot from the base app into the demo app. See the Shared Content Depots documentation for more info.
  2. Share cloud storage with the full app: The saved game from the demo can be stored to the full game's cloud storage so that users can pick up where they left off in the demo once they buy the full game. See the Steam Cloud documentation for more info.

Marketing the Full App

You can direct customers to the full app from your demo by utilizing the Steam Overlay. The in-app overlay allows you to put a link to the store page right in your app. See the Steam Overlay documentation and ISteamFriends::ActivateGameOverlayToStore for more details.

Players of your demo will also see a prominent link from the demo in their library to the full game's store page.

DemoUpsell.jpg

Using Achievements in Demos

We recommend that you disable achievements in demos. Instead, store the saved game in the shared Steam Cloud as described in the Cloud documentation. Then grant those achievements on loading the game in the full game after the user has purchased.

Demo Store Page & Presence

As you are configuring your demo within Steamworks, you will notice that there is a release checklist for "Store Presence". This is a much shorter store checklist than for your full game, and generally only requires a few assets and bits of information that may differ between your demo and full game.

To have your demo appear on the store page of your base game, you'll need to follow these steps:
  1. From your base game's app landing page, click 'Edit Store Page' to enter the store page editor.
  2. Within the store page editor, switch to the 'Special Settings' tab
  3. Scroll down to 'Associated Demos'
  4. Make sure your demo is listed there
  5. Save and publish your game's store page.

By default, the option to prominently display your demo will be checked.

Releasing Your Demo

To prepare for release, please make sure to complete the checklists found on the right-hand side of the landing page for your demo. Once completed, you can mark your demo page and build as ready for review.

If you are releasing your demo prior to your base product being available, you will need to prepare your base game's store page and make sure it is visible as 'coming soon' so users can add the full game to their wishlist (also see: Steam Wishlists).

Once released, the demo can show up as new in the demo section. Clicking on the demo capsule in the store will take users to the main game's store page where there's a demo button on the side or above the purchase options (configurable by you).

DemoStorePg.jpg

Please see the Preparing for Your Release documentation for general information about preparing any app for release.

Disabling Your Demo

If you wish for your demo to only be available for a limited time, such as during a game conference or festival, you can deactivate and reactivate it once it has been released. Deactivating a demo will prevent players from downloading or launching your demo. Players that already have your demo in their library will continue to see the demo (so they may uninstall it) but cannot launch it again.

To Deactivate or re-activate a demo, find the option under 'Technical Tools' on your demo's app landing page and click "Deactivate Demo"

DemoDisable.jpg
Note: Once your demo is disabled, customers may still be able to launch it outside of Steam unless your demo requires Steam to launch and checks to see if the user has a current license to it. You can learn more here: ISteamApps::BIsSubscribedApp.

Frequently Asked Questions

Q: Can I put a demo up on my Coming Soon page before my game releases?
A: Yes, your demo can be made available to players on a Coming Soon page before your game releases.

Q: Can my demo users play Steam multiplayer with my full game users?
A: Steam currently doesn't support multiplayer matchmaking between the full game and the demo.

Q: What if my demo consists of literally the same files as the full game?
A: Use a shared depot as described in the Shared Content Depots documentation. Do the following to make sure the demo and full app both work correctly.

  1. If you use Steam DRM, re-submit the exe for signing on the demo Steamworks app admin. Package the demo exe into a depot specific to the demo app. Alternatively, you can skip Steam DRM and just call SteamAPI_RestartAppIfNecessary.
  2. If there is behavior that is restricted to owners of the full app, gate it behind the ISteamApps::BIsSubscribedApp Steamworks API call with the App ID of the full app.

Q: How to get the Demo to show up on the base application's store page?
A: On the store page admin, go to the "Special Settings" tab and add the Demo's app ID in the "Associated Demos" section. Save & Publish. The demo will need to be released for it to show upon the base application's store page.

By default, a demo button will appear in the right-hand column of your game's store page. You can also check a box in the "Special Settings" tab to have a larger callout for your demo appear above all your purchase options.

Q: How do I remove a Demo from the base application's store page?
A: On the store page admin for the base game, go to the "Special Settings" tab and remove the Demo's app ID in the "Associated Demos" section. Save & Publish.

Q: How do I remove a Demo entirely from the Steam store?
A: Please see Disabling Your Demo above