Over the weekend the Unity forums went nuts with rampant speculation about how section 3.3.1 of Apple’s new developer agreement might affect them. There are some angry, angry people on that thread.
Me, I’m more of a candle-lighter than a darkness-curser, so it seemed to me that the best way to make a case against the new rule would be to examine some top-selling games and see how many of them used Unity or something else that 3.3.1 would preclude.
So I went to the App Store and bought all of the games in the top 10 list. Then I ran this command:
zipinfo ~/Music/iTunes/Mobile\ Applications/'*.ipa' | egrep "lua|UnityEngine.dll|monotouch|pyarray"-
That command searches all of the apps you’ve got and checks for Unity, Lua scripts (uncompiled, compiled takes a bit more digging), Mono, or Python. (Try it right now on your system!)
Three of the games I just bought used either Unity or Lua:
- DinerDash: contains plain-text Lua scripts
- Angry Birds: contains plain-text Lua scripts
- Skee-Ball: contains the UnityEngine.dll
Three of today’s top-selling games wouldn’t be possible under the new rules.
This will be no surprise to Unity developers, who are pretty familiar with success stories like Zombieville USA, Star Wars Trench Run, RavenSword, and Skee-Ball. These games aren’t crap. None of these are the kind of cross-platform shovelware 3.3.1 seems designed to prevent. Aside from the Star Wars title, all of these are original, indie games that exist solely on the iPhone OS platform.
I’m an Objective-C guy, but I think tools like Unity are important, and I’ve been working on a longer rant to explain why. For now, I’ll just let the numbers do the talking.
I made a Google spreadsheet with these results, and opened it up to other Unity developers to add more apps as they found them. Here’s the spreadsheet — feel free to contribute. There’s now over a hundred apps on the list now.