|
|
Modern Warfare 2 (2009) on your iPhone, running on the open-source IW4L engine. Unofficial and experimental.
🌍 English · Italiano · Español · Français · Deutsch
A port of the open-source IW4L engine to iOS. It does not contain the game: it reads the game files you already own on PC. Think of it as a new player for files you have.
- ✅ Runs natively on iPhone (Rust + Bevy + Metal)
- ✅ Reaches the main menu. Touch works as a click and a PS4 controller works
- ✅ On an iPhone 17 Pro Max (6 GB granted to the app) full matches with bots run: watch the clip, by treuenten
- ✅ The app picks its memory settings by itself from the memory iOS grants the phone (low / mid / high). Everything can be changed in the game under Options > IW4 Pocket options, and Send logs opens a prefilled problem report
⚠️ On an iPhone 13 Pro Max (about 3 GB granted), 0.3.4 loadsmp_rustcompletely and a match was played for about a minute, then iOS closed the app for lack of memory. The memory grows slowly during the match; the next build measures where. If your phone has about 3 GB for the app, set Render scale to 0.67 or 0.5 (Options > IW4 Pocket options): it frees memory and the picture is only a little softer.
No coding needed. It takes about 15 minutes plus the file copy.
- Get the game files. You need your own copy of Modern Warfare 2 (2009) for PC (the Steam version). The folder must contain a subfolder named
zone. This project does not provide or link to game files - Install SideStore on your iPhone by following the official guide. It is the tool that installs apps like this one
- Download the app: IW4.Pocket.ipa (or open the release page)
- Install it with SideStore (tap +, pick the file). If you already have an older version, install over it: uninstalling deletes your game files
- Open the app once, then close it. This creates its folder
- Copy your MW2 folder into the Files app: On My iPhone > IW4 Pocket > Games. Any folder name works, as long as it contains
zone - Pair a controller in Bluetooth settings (PS4/DualShock 4 is verified), then open the app. The first load is slow and the screen can stay pink for a while
- ✅ Tested: iPhone 13 Pro Max (6 GB RAM, ~3 GB granted), iOS 27: menus work, match loading gets as far as the shaders. iPhone 17 Pro Max (6 GB granted): full matches with bots, reported by treuenten
- ❓ Everything else is unverified. Technically it should run on any iPhone or iPad with Metal; the app declares iOS 15 as its minimum, but I never tried it there
- 🧠 Memory is the limit. On the tested phone iOS allows the app about 3 GB. Devices with less RAM will likely fail sooner; 8 GB+ iPhones and M-series iPads are the most interesting to test With about 3 GB, try Render scale 0.67 or 0.5.
- 🎮 A controller is needed to play. Touch only works in the menus
Tried it? Please open an issue with:
- your device and iOS version
- what happened (menu? map loaded? app closed?)
- the file
iw4l-boot.logfrom On My iPhone > IW4 Pocket. It records startup, memory use and crashes
- Easiest way to report a problem: in the game open Options > IW4 Pocket options > Send logs. It opens GitHub with the summary filled in; attach
iw4l-boot.logandiw4l-memory-settings.txt - "MW2 Multiplayer was not found": the folder must be inside
Gamesand containzone - Pink screen for a long time: wait, the first load is slow
- Controller not detected: pair it in Bluetooth first, then reopen the app
- App closes on a map: that is the known memory issue. Send the log
- To limit texture size: add a text file
iw4l-texture-cap.txtcontaining only a number such as256, then fully restart the app - Advanced: a text file
iw4l-env.txtwith lines likeIW4L_NAME=valuesets the engine's own switches without a rebuild. Only the settings in IW4 Pocket options are accepted (for exampleIW4L_RENDER_SCALE=0.67), plusIW4L_BOTS=5(bots in every match, also in the lobby),IW4L_SKIP_CAMO=1(leave out weapon camo skins) andIW4L_CMDS=map mp_rust; bot add 5(onlymap,botand match or bot rules). Anything else is ignored and the log names the line
Run the ios-release workflow from the Actions tab (macOS runner) and give it a tag.
Port of IW4L by vladtrc and contributors (Apache-2.0, see LICENSE, NOTICE; original README in README.upstream.md). Memory fixes, lean shaders, BC textures, the 60 Hz hold, render scale, frame timing and engine fixes: treuenten (issue #1). Bots: LemonMoo and AdrianTomasDiez. Weapon camo idea: mk2rs2000.
Unofficial fan project, not affiliated with Activision, Infinity Ward, Apple or the IW4L authors. Call of Duty and Modern Warfare are trademarks of their owners. You must own a legitimate copy of the game.
☕ Like it? Support the project on Ko-fi

