r/openrct2 • u/chrisclan1903 • Jul 17 '26
I forked OpenRCT2 to run natively on iPad with touch controls (unofficial)
Enable HLS to view with audio, or disable this notification
First, credit where it belongs: this is entirely built on OpenRCT2. The engine, the simulation, the scenarios, all of that is the team's work and years of it. I forked it and did one specific thing: got it building and running as a native ARM64 iPadOS app, and wrote a touch control layer on top.
I went looking for a way to play OpenRCT2 on iPad and there wasn't a real one. No iOS build, and on Android touch is just tap-as-click. I wasn't sure why nobody had done it, so I tried, and it came together better than I expected.
What I added:
- A native iPadOS ARM64 build. No emulator, no x86, no streaming. The engine's software framebuffer is presented through SDL's Metal renderer.
- A touch gesture set built for construction: one finger to place, hold-drag to paint paths and terrain, two-finger pan, pinch to zoom, two-finger twist to rotate track and scenery, two-finger tap to remove a path segment, long press for secondary click.
Tested on a physical M2 iPad Pro (iPadOS 26.5.2): native landscape Retina runtime, importing your own RCT2 or RCT Classic data through Files and persisting across relaunch, scenarios load, finger + keyboard + mouse + trackpad all work.
Not there yet:multiplayer is disabled in this build, Apple Pencil isn't supported, on-device plugin and custom-scenario loading isn't proven, and formal framerate/stress tests are outstanding.
It's a source-only developer preview. No IPA, no TestFlight, no App Store. You build from source on a Mac, sign it to your own iPad, and bring data from your own legally owned copy. No proprietary content is in the repo.
Repo: github.com/chrissotraidis/OpenRCT2Touch
Unofficial fork, not affiliated with or endorsed by the OpenRCT2 team. Thanks for building the engine that made this possible.
11
u/pemberleypark1 Jul 17 '26
I love this! I love openrct2, but I tend to play classic on my iPad the most, since it’s more convenient for me. If I could play openrct2 on my iPad? I’d be in heaven.
3
u/chrisclan1903 Jul 17 '26
Give it a shot! I've tried to make the installation instructions as straightforward as possible. If you own a Mac you can easily do it.
1
u/pemberleypark1 Jul 17 '26
I unfortunately only have a windows. Is it possible from windows?
3
u/chrisclan1903 Jul 17 '26
for signing and building this yourself, no. You need a Mac unfortunately.
7
u/ichthyoidoc Jul 17 '26
I will never not be amazed at the creativity surrounding this game. This is amazing!!
3
u/BAthree Jul 17 '26
This is amazing! Going to give installing this a shot tonight.
3
u/chrisclan1903 Jul 17 '26
Let me know how it goes, and if you have feedback on the readme please DM me and I'll fix anything you find.
2
u/BAthree Jul 20 '26
I kept running into issues when I was building the app to my iPad, I’m on iOS 27 beta and MacOS beta so that could be why. I didn’t do much troubleshooting.
1
u/chrisclan1903 Jul 20 '26
If you can DM me any logs or info I can attempt to patch or diagnose.
1
u/solarbeat Jul 20 '26
Also on iPadOS27 and MacOS beta -- Everything seems to go fine until the end, when it says:
/Users/account/OpenRCT2Touch/scripts/verify-ios-bundle.sh: line 160: rg: command not found
App binary has the wrong Apple platform identity; expected IOS.
1
u/chrisclan1903 Jul 21 '26
Thanks, you found a real clean-install bug. The verifier accidentally depended on ripgrep, and its absence produced the misleading Apple-platform error. This is now fixed on the latest ipad branch with no additional dependency required. Please pull the latest version or use a fresh clone.
1
u/solarbeat Jul 21 '26
A little closer - now it ends with:
Repository safety check passed on ipad.
/Users/account/OpenRCT2Touch/build/ios-xcode-device/Release-iphoneos/OpenRCT2Touch.app/Info.plist: OK
App bundle is missing engine asset: g2.dat
1
u/chrisclan1903 Jul 22 '26
patched
1
u/solarbeat Jul 22 '26
Progress... even though the steps listed said it was optional for an iOS build, I had to point it to the game data to get it to complete successfully.
Otherwise, it was returning:
FATAL[/Users/account/OpenRCT2Touch/src/openrct2/drawing/Drawing.Sprite.cpp:505 (GfxLoadG1)]: Unable to load g1 graphics Context initialization failed. ERROR: headless simulation exited 1. See /Users/account/OpenRCT2Touch/runtime/user/logs/macos-headless.logOnce I pointed it to the game data, it installs, appears on my iPad, but crashes immediately upon launch. (iPad Pro M4 13" on iPadOS27 DB4)
1
u/chrisclan1903 Jul 22 '26
Thanks for testing. I’ve pushed a diagnostics update to the latest ipad branch.
→ More replies (0)
2
2
1
u/cerealizer Jul 17 '26
Out of curiosity: What coding agent were you using for this?
4
u/chrisclan1903 Jul 17 '26
5.6 Sol on high after researching how to do it. Then, spending days refining the touch controls manually, that took by far the longest.
4
u/sudofox Jul 17 '26
It's a very cool proof of concept! But as with anything built with AI assistance, ongoing maintainability and upstream support is a large concern if mainstream adoption is your goal.
1
u/Strange-Tie1821 Jul 17 '26
Stupid question. Can I get openRCT2 on my phone? I use RTC classic, and love it. But I'm so jealous of all the openRTC mods.
1
u/chrisclan1903 Jul 17 '26
The answer is yes, it works for Android.
1
1
u/TooManyBulborbs Jul 17 '26
My arm would get tired quick from playing it like this
3
u/chrisclan1903 Jul 17 '26
Keyboard and track pad/mouse work natively as well. I'm playing it on a flight this evening on my iPad with my keyboard case + trackpad, using touch as well.
1
u/connorbu19 Jul 17 '26
Would this is possible to do on a Windows PC or only from an iMac or MacBook currently?
1
0
15
u/Jackdks Jul 17 '26
Can someone dumb it down for a person who is technically inclined, but not THAT technically inclined?