Version Selector
Spark includes multiple Ren’Py engine versions and lets you choose which one to use for each game.
Available Engines
Section titled “Available Engines”Spark bundles the following Ren’Py engine versions:
| Version | Python | Notes |
|---|---|---|
| 7.4.11 | 2.7 | Oldest supported |
| 7.5.3 | 2.7 | Legacy support |
| 7.6.3 | 2.7 | Improved stability |
| 7.7.3 | 2.7 | Late 7.x |
| 7.8.4 | 2.7 | 7.8 series |
| 7.8.8 | 2.7 | Latest 7.x |
| 8.0.3 | 3.9 | First Ren’Py 8 |
| 8.1.3 | 3.9 | Stability improvements |
| 8.2.3 | 3.9 | New features |
| 8.3.4 | 3.9 | Performance updates |
| 8.3.7 | 3.9 | Latest 8.3 |
| 8.4.1 | 3.12 | 8.4 series |
| 8.5.0 | 3.12 | 8.5 series |
| 8.5.2 | 3.12 | Latest supported |
Automatic Version Detection
Section titled “Automatic Version Detection”When you import a game, Spark detects the Ren’Py version that was packaged with the game archive (from engine version files such as vc_version.py, __init__.py, or their compiled equivalents) and uses it to suggest a compatible engine.
The game’s script_version.txt is a separate file used internally by Ren’Py to set compatibility flags for the scripting layer — it is not the same as the engine version.
Suggestion Modes
Section titled “Suggestion Modes”Spark offers two engine suggestion strategies (configurable in Settings):
- Accurate (default) — Recommends an engine matching the same minor version (e.g., a 7.5.x game gets the 7.5.3 engine)
- Latest — Recommends the latest engine within the same major version (e.g., a 7.x game gets the latest 7.x engine, an 8.x game gets the latest 8.x engine)
Changing Engine Version
Section titled “Changing Engine Version”The engine runtime version is displayed beneath the Launch Game button on the game detail screen. There are two version settings you can change:
Engine Runtime Version
Section titled “Engine Runtime Version”This controls which bundled Ren’Py engine Spark uses to run the game.
- Tap Modify next to the engine version on the game detail screen
- Select from the version picker
- Tap Confirm
Reverting to Original
Section titled “Reverting to Original”If you’ve changed the engine and encounter issues, you can revert:
- The original version is saved automatically
- Use the Revert button in the version picker to go back
Ren’Py Script Version
Section titled “Ren’Py Script Version”This updates the game’s script_version.txt, which controls how Ren’Py’s internal compatibility logic is applied. Ren’Py uses this value to enable or disable backwards-compatible behavior for older games.
Changing this can resolve issues where a game expects certain legacy behaviors that have been modified in newer engine versions. See the Ren’Py incompatible changes documentation for details on what changes between versions.
When to Change Versions
Section titled “When to Change Versions”- Game crashes on launch — Try a different engine version
- Missing features — Some games require specific Ren’Py versions
- Performance issues — Newer engines may perform better
- Compatibility — Older games may need older engines
Launch Modes
Section titled “Launch Modes”Each game in Spark has three optional launch modes that control how much of Spark’s engine patching and runtime integration is active. These are found in Game Settings (long-press a game in the library).
Safe Mode
Section titled “Safe Mode”Safe Mode launches the game using a vanilla, unmodified Ren’Py engine instead of Spark’s custom-patched build. Spark’s engine modifications and script injections are disabled, but the overlay and runtime features remain available.
The launch button turns green and reads “Safe Launch” when this mode is active.
When to use it: A game crashes or misbehaves and you suspect Spark’s engine patches are the cause.
Advanced Mode
Section titled “Advanced Mode”Advanced Mode is designed for games where the developer has made changes directly to the Python layer of the Ren’Py engine. Some games ship with a modified renpy/ directory containing custom engine code — without these modifications, the game may crash or behave incorrectly. When enabled:
- Spark looks for an
advanced/renpydirectory inside the game folder - Any Python source files found there override the engine’s built-in Ren’Py sources
- A separate engine version picker appears, independent from the normal version selector
The launch button turns pink and reads “Advanced Launch” when this mode is active.
When to use it: The game includes custom modifications to Ren’Py’s Python source code (a modified renpy/ directory). This is uncommon but some games rely on engine-level changes for custom features, UI frameworks, or compatibility workarounds.
Disable Spark Integration
Section titled “Disable Spark Integration”This mode completely removes Spark’s runtime layer from the game session. When enabled:
- The Spark overlay UI (game controls, quick menu, keyboard helper, hide-UI button) never appears
- All runtime Python injection is skipped — dialogue tracking, gallery unlocker, gesture configuration, volume sync, translation system, and keymap overrides are all disabled
- The game runs with zero Spark runtime modifications
- RPY-based settings (developer mode, console, transparent textbox) still work because Ren’Py loads them itself rather than Spark injecting them
When to use it: A game conflicts with Spark’s runtime features and Safe Mode alone didn’t resolve the issue. This provides maximum compatibility and isolation at the cost of all Spark overlay functionality.