Steamworks Documentation
Updating Your Game - Best Practices
Steam is built around the core functionality of keeping your players up-to-date with the latest build of your game. Whether you have a small bug you need to fix or a major content addition, Steam has a robust set of tools to announce your update and get it into the hands of your players.

What follows is a general set of practices to consider when making an update, along with some best practices that we at Valve have learned from the major updates we've made with our own products and by learning from the many other products that are available via Steam.

Whether your product is a free to play service or a single player narrative, updates can grow your user base and deepen engagement. For general information about communicating with customers, see our Moderation Best Practices documentation and watch Robin Walker’s full presentation from Steam Dev Days.
Note: Customers expect to be able to download your game and future updates within the Steam client. It is important that you use Steam to handle your updates, and do not require users to download content inside your game after it has launched. Steam provides a unified download and update experience for customers that easily allows them to manage the schedule and location of their downloads, and can result in significant performance gains and cost savings to developers.

Update Any Time

Updates are an important part of your product's life cycle and a critical form of communication with customers. You'll need to make updates to fix bugs and address issues, but major updates are also a huge opportunity to add new content, new modes of play, or new features to help keep customers engaged and attract new audiences.

Steam makes it easy to patch your game or add content at any time that you need to in order to best serve your audience on your schedule. Feel free to update as often as you need to, but remember that players who have your game installed will need to download each update before they can launch the game again, so be considerate if your updates are large in size.

Planning & Goals

To get the most out of your update, you'll want to start by thinking about the goals you want to achieve. You probably want to be patching all the time to fix issues that players have brought up or that you’ve found while testing the game. But you also want to be thinking about longer-term content updates that keep your players engaged and coming back to play.

Whether your update is big or small, each one is a form of communication with players, demonstrating that you are listening to player feedback and you care about improving the player experience.

Bug Fixes & Patches

Updating and patching your game is one of the best ways to communicate with customers. If you hear about customers experiencing issues with your game, there is no better response than to fix the issue as quickly as possible (if reasonable). Steam makes it easy to deploy updated builds anytime you wish, so make use of it to iterate on your product and help customers with issues.

When deploying an update, it's helpful to post an announcement in your Steam Community Hub so that customers can tell what has changed. This also demonstrates to customers that you are listening and working to address the issues that are being identified.

Major Content Updates

Iterating and updating your product is essential, but your communication around the update can make a big difference. We have found that for our own games it works best to release major updates every 1-2 months at most. This let us put together a big enough update to be exciting and compelling, and allowed for time to tease or pre-announce those updates before they ship to build anticipation.

Your own approach may vary as you learn what your players are responding positively to. Here is a sample process that has worked well for us, which we honed by trying different approaches and listening to player feedback:

  1. Tease the update - Tease the update (possibly in narrative form) 3-4 days in advance, drop hints, ignite speculation, and excite customers. You’re also providing resources for press coverage about your product.
  2. Monitor forums and feedback - Monitor forums and feedback prior to the update actually shipping, and improve or tweak your content accordingly, or find out what elements your customers are most excited about, so you can feature them accordingly.
  3. Highlight feature and gameplay changes - Highlight feature and gameplay changes in your pre-update communication to increase visibility, speculation, and excitement. Revealing these details piece by piece allows your players to parse and digest the content prior to actually playing it.
  4. Create metagames or contests - Create metagames or contests, allowing your customers to effectively market the product to their friends or other players and giving them opportunities to contribute to the gameworld.

Examples As an example of the kinds of update announcement pages that we at Valve have put together for some of our own games, you can see the latest updates for Counter-Strike: Global Offensive listed down the right-side of the CS:GO website, or some updates for Dota 2 here and here.

All of these elements are feasible for any product, regardless of the genre or the team size. We highly recommend that the same team designing and building the content is also directly exposed to the communication and feedback from customers. This DOES NOT mean that your level designer should spend all day replying to questions on the Steam forum. It does mean, however, that reading feedback and being responsible for the community should be part of the dev team’s role, rather than delegated out to community managers or a separate PR team. Watch the full Dev Days talk for specific examples and additional insights.

DLC or part of the base game?

When you release new content for your game, you have a few options for how you can provide that content to players. You can sell it as Downloadable content (DLC) or as in-game purchases. Or you can simply include it in the base game as a free content update.

Below are some suggestions for best practices that we've seen work well for most cases:
  • Free content => part of the game - If you intend for the content to be free, we have found that it works best to simply include that new content as part of your base game's content. That way, your players will immediately have the latest content without any need to go hit a separate download button (as would be the case if you released your update as free DLC).
  • Small paid content => in-game purchases - If you are adding small items of paid content, such as hats, individual weapons, or consumables, you may want to consider making them each individual in-game purchases. Steamworks includes an easy to use Steam Inventory Service and of course you'll need to use Steam Microtransactions, which handles all of the payment processing and currency conversion.
  • Large paid content => DLC - If you are selling a significant amount of content such as maps, new game modes, or an expansion, you'll want to make use of DLC to do so. This allows the content to be installed separately to reduce filesize for players that don't buy the extra content and allows you to market the sizable content as part of your game's store page.

Testing

Before deploying your update, you'll probably want to make sure you test it yourself from a Steam build. There are a number different ways you can do this, so be sure to check out the Testing on Steam documentation.

Uploading Your Update

To update your game or software build, simply follow the same instructions for creating your initial builds in SteamPipe. Check out the SteamPipe Documentation for details.

Note that after your app releases to customers, your customers will be receiving the build marked as the Default build. In order to test your update, you should upload the new build using Steampipe, then set that build on a test branch with a password to test before moving it to the default branch. See Managing Uploaded Builds above for a refresher on managing your build branches.

Set Your Build Live

Once you've uploaded and tested your build, you're ready to make it live for players. To do so, you'll need to switch your desired build to be the new 'default' build. If you created new depots in the process of adding this new content, make sure you add that new depot to all store and key packages. See Packages documentation for more details.

Announcing Your Update on Steam

Once you're ready to release your update on Steam, you'll want to tell customers and provide a place for focused feedback. Steam provides a number of ways for you to announce your update and get word out:
  • Use artwork override - You can use a temporary set of capsule images to tell customers about updates to your game. In your 'edit store' section of Steamworks, under the graphical assets tab, there is a section to define temporary asset override. More about Artwork Overrides
  • Post an Announcement - When you post an event or announcement, it will appear to any customer that is following your game (which they can do from your community hub or store page), on your store page, within the Steam library, and will be accessible from the Steam client 'downloads' panel. More about Events and Announcements
  • Run a discount - To get the most out of a major content update, you may want to think about timing it with a discount on your game. That can help build the most amount of buzz at the same time and give players another reason to get your game now, when a bunch of excitement is built up around the game. Plus, players with your game on their wishlist will get an e-mail notifying them that your game is on sale. This works really well combined with temporary artwork overrides as described above. More about discounting
  • Use Update Visibility Round - If this is one of your major content updates, you may use a Steam Update Visibility Round to make your update appear on the Steam Store home page. This is useful for getting word out to new and existing customers about your update. This also lists your title on a page of recently updated products.
    To use the Update Visibility Round, you will first need to post a Steam Community Announcement with details about your update. Check out the Steam Update Visibility Round documentation for more details.