If the download links on this page are missing, please download the SDK from https://www.renpy.org/dl/6.10.2/. Or click here to download the latest version of Ren'Py.

Please consider linking to the Download Ren'Py page, which will be updated when a new version of Ren'Py is released.

Ren'Py 6.10.2 "Fixing a Hole"


You only need to download one of these three files. Each of these files contains the full Ren'Py software development kit, containing everything needed to develop Ren'Py games for Windows 2000 and up, Mac OS X 10.4 and up, and Linux x86. The development environment contains the files needed to produce games for all three platforms. Each file also includes the jEdit text editor, the Ren'Py demo, and "The Question", an example game.

Java Requirement. Java 1.5 or later is required to run the jEdit text editor. If it's not installed on your computer, you'll need to download it from java.com. Java is not required to run Ren'Py games, only to develop your own.

License. Ren'Py is licensed under a very liberal license, that allows for free commercial and non-commercial use. Read the full license for details, but a short summary is that you can distribute Ren'Py games however you want, as long as you include LICENSE.txt.

Release History and Updates

There has been a bug reported with scaling on netbooks. An updated renpy-6.10.2/ fixes it.
Final release.
Fifth pre-release (6.10.2e). Fixes a really embarrassing bug where a config variable had the wrong value.
Fourth pre-release (6.10.2d). Disables the click-to-continue indicator when a character is shown with interact=False, like at a menu, or a in a window show.
Third pre-release. (6.10.2c). This fixes a memory leak in cache pin, adds the ability to replay voice, adds the ability to assign sounds to imagemap buttons, extends the call expression syntax, and improves the launcher a bit.
Second pre-release (6.10.2b). This allows to be used outside of init blocks, and also adds .
Initial pre-release (6.10.2a).

Release Announcement

Ren'Py 6.10.2 is the second stability release of the Ren'Py 6.10 series. It primarily fixes bugs that were reported, found through testing, and detected using static analysis. It also includes few changes and new features that were added to address issues people encountered while making games.

Downloads of 6.10.2 and a full release announcement can be found at:


To migrate your game from Ren'Py 6.9.2 or later, copy the directory containing your game into your projects directory. You may also need change your game when updating from a sufficiently old version.

Changelog for Ren'Py 6.10.2

Ren'Py now caches the individual words of text that are rendered. This can lead to a speedup in text display when there are many words of text on the screen, and that text is re-displayed, as is the case where the text text speed is not the maximum. This is especially beneficial for eastasian languages, where every character is treated as a word.

The new variable allows layers to be cleared when entering the game menu. This makes it easier for a layer to have overlay-like things on it when in the game, but not when in the game menu.

The new function pins images into memory, loading them as soon as possible and keeping them loaded. The function undoes this.

The new variable can strip out prefixes when automatically defining images.

It's now possible to assign style properties to individual imagemap buttons, by indexing style.imagemap_button. (So for example, one could assign to style.imagemap_button["Start Game"].hover_sound .)

The new voice_replay function replays the voice played on the current interaction. The new voice_can_replay function returns True if a voice can be replayed.

The launcher now accepts a RENPY_DEFAULT_PROJECTS_DIRECTORY, which sets the default for the projects directory, if it has not already been set by the user. It also will report an error when creating a project fails, rather than producing a traceback.

The launcher now links to the new Ren'Py Games List, at http://games.renpy.org/.

Previously, it was impossible to pass an arguments list to a call expression. Now, we allow the pass keyword to be used to distinguish the two, using code like:

call expression foo pass (bar, baz)

Ren'Py will now not show the click-to-continue indicator when a character is called with interact=False, unless that character is also called with ctc_force=True

Ren'Py now builds zip files in distributions 64k at a time.

Ren'Py will now ignore music files that do not exist. Previously, it could loop trying to play them. (This would increase CPU usage, rather than causing a crash.)

The following numbered bugs were fixed:

In addition:

Other Downloads

The following downloads may be useful if you want to run a windows-only Ren'Py program on other platforms, if you plan to port Ren'Py to a new platform, or if you want to build a distribution of Ren'Py. Recent versions of Ren'Py default to producing distributions for all three supported platforms, making these programs rarely necessary.