Skip to content
VVVVVV for iOS. Again. Using C++ this time.
C C++ Objective-C Shell M4 Java Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

VVVVVV for iOS and tvOS for Apple TV


This is my port of VVVVVV for iOS. I have also made a target and version for tvOS to run on Apple TV. This version is based off of the C++ source code rather than the Flash source code.



  • Tested and builds on Xcode 11.
  • Runs single player campaign at full screen and full speed on iOS
  • MFi controller support (reccomended) and on-screen control options
  • Second project target for tvOS that takes advantage of focus model and removes on-screen controls.
  • Supports native menus of original game.

As of this writing, VVVVVV is still available for purchase on the App Store and so if you want to play the game on your iPhone right now this is the quickest way to do so. It is also considerably more tested than this version.

The version of VVVVVV on the App Store is based off of the original source code which was written in Flash, which is available here. The desktop version was converted to use C++ and SDL in 2011, the source for that version is available here. The version I have posted in this repo is for iOS but it is based off of the C++ version just to see how hard it would be to do. This repo also contains a port to the Apple TV which did not exist previously.

You will need to provide your own copies of the file from an existing instalation of VVVVVV (Steam, GOG, Humble) or you can acquire it from Terry Cavanagh's site here as part of the "Make and Play" version of the game. In accordance with his wishes I am not including it here. In the Xcode project modify the file reference to "" to point to wherever your file is.


You can read a blog article on how I did all this here.

This port was based on the source code to VVVVVV released as open source by Terry Cavanaugh and uses SDL for iOS. On-screen joystick code came from this repo by Brad Howe. I also studied the iOS port of Hedgewars for information on how to use UIKit alongside SDL.

I have also made iOS and tvOS ports for various other games which can be found at my main GitHub repo. As a stepping stone to this iOS version I also made an Xcode project for macOS which can be found here. It's identical to the main code except it bundles the data in to the .app file and gives it an icon. I've provided it if anyone's curious but if you want to get into contributing to the VVVVV source you should reference the original repo instead.

Have fun. For any questions I can be reached at

You can’t perform that action at this time.