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

Ren'Py 6.1.0 "Once More Unto the Breach"

Ren'Py 6.1.0 "Once More Unto the Breach" was released on March 7, 2007. The main distributions are:

Each of these files contains the full Ren'Py development environment, which is enough to allow you to develop Ren'Py games on Windows 98 and up, Mac OS X 10.3 and up, and Linux x86. The development environment contains the files needed to produce games for all three platforms. It also includes a text editor and sample games.

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.

For your convenience, we've posted the Release Announcement and Changelog. We've also made available the following programs, which can be used to run Windows-only Ren'Py games on non-Windows platforms:

Known Issues

Earlier versions of 6.1.0 had a bug that prevented a new game from being started after a return to the main menu. If you have 6.1.0a or 6.1.0b, please re-download 6.1.0c from the links above, to get an updated version.

The "play music" command ignores its channel clause. Do not use play music "foo.ogg" channel 6, instead write $ renpy.music.play("foo.ogg", channel=6).

Using the voice statement causes lint to fail. To fix it, download 00voice.rpy, and place it into the common/ directory, overwriting the 00voice.rpy already there.

Release Announcement

Ren'Py 6.1.0 "Once More Unto the Breach" has been released. This release marks a return to engine development after a series of release largely focusing on tool support. This release includes a number of internal changes, that improve performance and/or correctness. It is the first release to officially support Windows Vista. It introduces many new config variables controlling transitions, including automatic transition between ADV and NVL modes. It also includes the experimental new Imouto-mode, which allows for the automatic scaling of a game.

As this is the first release to officially support Vista, we strongly recommend that all projects (especially all NaNoRenO projects) upgrade to 6.1.0.

Downloads and a full release announcement can be found at:


To migrate your game from Ren'Py 5.6.2 or later, copy the directory containing your game into the directory containing the new Ren'Py. Please see the 5.6.2 release notes for information about migrating from older releases.

CHANGELOG for Ren'Py 6.0.0

Added support for Windows Vista. Previous versions of Ren'Py will not run on Vista without a fix. Please do not release with earlier versions of Ren'Py.

Implemented hard pauses, pauses that cannot be interrupted by the user. They can be invoked by passing hard=True to renpy.pause, but it's probably a bad idea to use them. You should strongly consider using "with Pause()" instead, as that lets you develop timed sequences that can be aborted with a single click.

Added a handful of new config variables controlling transitions:

We still support and ,which are used when entering or exiting the game menu from the game proper.

There are now new slow_cps, slow_cps_multiplier, and slow_abortable properties, that control the slow text effect. The slow parameter to and has been modified slightly, so that if the user specifies slow_cps without specifying slow, the slow_cps will still take effect.

The roundrect theme has been updated to color insensitive file picker entries with the disabled color.

Ren'Py can now re-show the last say statement. This is done by calling . allows the screen to be retrieved, and reshown at some time in the future.

Documented a functional equivalent of the with statement, . This replaces the equivalent (undocumented) function , which is now deprecated, as it is not compatible with the upcoming python 2.6 release.

We now track the type of the last interaction. This is determined by supplying the type parameter to or , and can be retrieved using .

The new function allows one to determine if a transition has been set for the next interaction. The renpy.with_statement function (equivalent to the with statement)

The callback system that is used for character dialogue has been improved. The slow_done callback is now always called. Characters can take a list of callbacks as well as a single callback. The new variable can be used to specify a list of character callbacks that are called by all characters.

NVL-mode now properly removes nestled click-to-continue indicators.

Ren'Py now releases control over the mixer when all mixers are set to zero. This makes it easier to play alternative music in the background of a game.

Ren'Py now uses a higher-resolution timer, preventing framerate from being limited by timer resolution.

Dissolve has been rewritten to improve color correctness, at the cost of a speed decrease on non-MMX platforms.

Rewrote the style system to use lists indexed by integers rather than dictionaries indexed by strings. This change shouldn't be user visible, except perhaps as improved speed and decreased memory usage.

Implemented Imouto-mode, an experimental new feature. Setting the RENPY_SCALE_FACTOR environment variable to a number, will cause Ren'Py to scale the game by that factor. For example, setting RENPY_SCALE_FACTOR=.5 will cause the game to scale to half the normal size. This is done in a memory efficent way... scaling to 1/2 the size will cause the game to use 1/4 of the memory storing images.

Fixed a bug that caused recompilation on startup, on Windows systems. This should improve startup time.