Steamworks Documentation
Distributing Source Engine Games / Mods
A modification, often abbreviated to mod, is an alteration or creation of files for a game engine, which allow it to modify the gameplay style, graphics, environments, models, etc.
Many of Valve's first-party games are shipped with a software development kit or SDK in order to facilitate the development of mods.
While the general legal terms under which our games can be used for modding are provided in the Steam Subscriber Agreement and sometimes with the modding tools we supply, there are some recurring questions we get from the community about mods, especially when they are meant to ship on Steam.

Our expectation for mods is that by default they are non-commercial in nature and are based on the official SDK for one of our games.

Non-commercial

By non-commercial we mean that anyone who owns the Valve-developed base game may download and play the mod without having to pay for it.
It is ok for a mod team to accept donations from its users so long as the access to the mod or features thereof is not dependent on making a donation.
Including paid advertising in your mod makes it commercial.

Based on the Official SDK

We supply SDKs with many of our games. These are the approved basis for modding our games. It is not ok to ship a mod that is based on leaked or stolen source code.
As long as you follow these guidelines you may freely distribute your mod through Steam, via your own website or any third-party service without getting a separate license from Valve.

Frequently Asked Questions

  • Q. I wish to distribute a Source Engine Mod through Steam. Should I fill out the paperwork?

    A. Yes, please complete the regular digital paperwork to get signed up as a Steamworks developers. All information is required, including bank and tax information and app fee even if you intend to distribute your mod for free.
  • Q. Is there a licensing fee for using the Source Engine?

    A. There is no fee for using the Source Engine for your free mod, but there may be licensing fees for included tools if you charge money for your game.
  • Q. Do I have to buy a Havok license?

    A. In the past it was necessary for commercial mods based on the Source Engine to purchase a separate license to the Havok physics engine, but that is no longer the case as Microsoft has generously waived their licensing fee. For non-commercial mods this was never necessary.

    However, if you are using the RAD tools included with the Source SDK, you will need to contact RAD for information and cost associated with licensing Miles and/or Bink.
  • Q. I’ve got a Source mod that I want to distribute via Steam. How do I prepare my mod under my app ID?

    A. You'll need to copy the exe and content from the Valve Source Engine game you have built your mod off and wrap that up as your application.

    While you should include all the necessary Source Engine dlls and content from the base Source game that you need for your mod to run, Source Engine mods must be configured to require ownership of the base game in order to play. This needs to be configured by Valve.
  • Q. I wish to use Steam achievements in my mod. How do I do that?

    A. Use the CAchievementMgr class included in the Source Engine after configuring achievements in your App Admin page on the partner site. For more details, please see the Stats and Achievements documentation.
  • Q. How does the dedicated server work for my game?

    A. You will need a new dedicated server app ID so that you can create depots that are for a dedicated server. Once you've got an app ID for your base game, you can create your own dedicated server app ID. From your app landing page in Steamworks, click "All Associated Packages, DLC, Demos, And Tools" and then click the "Create New Tool" button in the Tools section.
  • Q. Can I use Valve IP in my Source Mod?

    A. Yes. However, please make it clear on your store pages that your mod is a mod and not created by Valve. Commercial games and mods that include Valve IP such as characters and story-lines need prior approval from Valve.
  • Q. Can I use multiple Valve IPs in one Source Mod?

    A. Yes.
  • Q: How can I get source code access from Valve?

    A. We have in the past granted access to the source code of some of our games to a small number of modding teams who could demonstrate a need that could not be met by the SDK. We may do this again in the future under exceptional circumstances but because of the associated support burden and risk of leaks our default answer is to develop based on the SDK.
  • Q: Can I sell my mod on Steam / outside of Steam?

    A. We receive this question quite regularly but very rarely permit mods to be sold, the reason being that it sets an expectation that Valve has assigned a level of oversight and quality control over the development and ongoing support of the mod that we are unable to provide.
  • Q: Does my mod have to require ownership of the (modded) base game when I distribute my mod on Steam?

    A. This depends. If your mod is essentially an improvement or extension of the underlying game then we will require the ownership of this base game. However, if you are distributing a total conversion mod that does not use our games' assets or your mod is otherwise a completely separate experience from the base game then we may let it ship on Steam without additional formal dependencies.
  • Q: Why are there mods on Steam that do not follow these rules?

    A. Our approach has evolved over time and the projects you are thinking about have been grandfathered in.
  • Q: What about mods for games on Steam that were not developed by Valve?

    A. Please contact the publisher of the game in question directly.
  • Q. Where can I learn more about Source Engine development?

    A. The best place to start is on the Valve Developer Wiki. Please be aware, though. that hat some information there may be outdated.
  • Q: How can I ask you questions not answered here?

    The best way to contact us with questions about shipping your mod is by filing a support ticket on https://help.steampowered.com.