Unity and the iPhone OS 4.0

April 10, 2010 in Technology

Hey guys,
I just wanted to thank our forum users for their support and thoughtful analyses about Apple’s new ToS (terms of service) for its iPhone OS 4.0, due to be released this summer.  As you are probably all aware by now, the new ToS has led to widespread speculation on blogs and in the trade press about how the change in wording could affect products marketed on the Apple AppStore.
As is so often the case with “legalese,” the new ToS are difficult to parse with certainty and open to broad interpretation—particularly by Apple itself.  Some have noted that the strictest possible interpretation could prohibit many products from being marketed on the App Store.  Others have argued that under more benign interpretations of the new terms, Unity and others will be just fine.
Apple has built a tremendous marketplace for all of us, and it’s great for those who successfully take advantage of it. The flipside, of course, is that the power there so clearly resides with Apple.
This is certainly not the first time that developers of all types of apps have faced sometimes confusing changes in rules, or their interpretation. It’s a risk we all run in basing parts of our businesses on Apple.
Here at Unity, we are working hard on getting good information, and working to understand whether – or how – the new changes could affect the developer community and others.  We have reached out to both official and unofficial contacts at Apple, we are talking to other companies in a similar situation to us, and we’ve been diligent in reading the ToS to get to the best legal (and business-wise) analysis of it.
We haven’t heard anything from Apple about this affecting us, and we believe that with hundreds of titles (or probably over a thousand by now), including a significant proportion of the best selling ones, we’re adding so much value to the iPhone ecosystem that Apple can’t possibly want to shut that down.
Our current best guess is that we’ll be fine.  But it would obviously be irresponsible to guarantee that.  What I can guarantee is that we’ll continue to do everything in our power to make this work, and that we will be here to inform you when we know more – as soon as we know more.
PS. In the ancient days of the App Store (July 2008), Apple very late changed the kernel to disallow JIT (just-in-time) compilation. What we did instead was spend several months changing Mono to AOT (ahead of time) compile scripts instead (this is why some dynamic constructs in our JavaScript doesn’t work on the iPhone). It was a lot of work, but we made it work to enable all these amazing Unity games to be sold in the App Store, many of which have gone on to be bestsellers and made their creators rich and famous.
Thanks again for your support.  We’re so very proud of you all.

First I would like to thank our forum users for their support and thoughtful analyses about Apple’s new ToS (terms of service) for iPhone OS 4.0, due to be released this summer.  As you are probably all aware by now, the new ToS has led to widespread speculation on blogs and in the press about how the change in wording could affect apps sold on Apple’s App Store.

As is so often the case with “legalese,” the new ToS are difficult to parse with certainty and open to broad interpretation – not least by Apple itself. Some have noted that the strictest possible interpretation could prohibit many products from being marketed on the App Store. Others have argued that under more benign interpretations of the new terms, Unity and others will be just fine.

Apple has built a tremendous marketplace for all of us, and it’s great for those who successfully take advantage of it. The flipside, of course, is that the power there so clearly resides with Apple.

This is certainly not the first time that developers of all types of apps have faced sometimes confusing changes in rules, or their interpretation. It’s a risk we all run in basing parts of our businesses on Apple.

Here at Unity, we are working hard on getting good information, and working to understand whether – or how – the new changes could affect the developer community and others.  We have reached out to both official and unofficial contacts at Apple, we are talking to other companies in a similar situation to us, and we’ve been diligent in reading the ToS to get to the best legal (and business-wise) analysis of it.

We haven’t heard anything from Apple about this affecting us, and we believe that with hundreds of titles (or probably over a thousand by now), including a significant proportion of the best selling ones, we’re adding so much value to the iPhone ecosystem that Apple can’t possibly want to shut that down.

Our current best guess is that we’ll be fine. But it would obviously be irresponsible to guarantee that. What I can guarantee is that we’ll continue to do everything in our power to make this work, and that we will be here to inform you when we know more – as soon as we know more.

PS. In the ancient days of the App Store (July 2008), Apple changed the kernel to disallow JIT (just-in-time) compilation. We worked around this by changing Mono to AOT (ahead of time) compile scripts instead (this is why some dynamic constructs in our JavaScript doesn’t work on the iPhone). It was a lot of work, but we made it work to enable all these amazing Unity games to be sold in the App Store, many of which have gone on to be bestsellers and made their creators rich and famous. We’re so very proud of you.

Thanks again for your support.

Comments (119)

Subscribe to comments
  1. BeatGenerator

    October 1, 2011 at 9:14 pm / 

    Hello my loved one! I want to say that this post is amazing, nice written and include almost all significant infos. I?d like to see more posts like this .

  2. Umop

    June 29, 2010 at 6:32 pm / 

    Has anyone publishes any apps targeting OS4 with unity3d yet?

  3. Philippe

    June 25, 2010 at 8:49 pm / 

    The problem with the proposal that EVERYONE who uses Iphone Unity, should Unity be banned, ALL head for Android! is that Apple has created a fantastic marketplace and store front which the others don’t really have (yet) so there is not all that much incentive for a lot of developers on the other platforms. What I don’t get is why Apple is not more creative to not restrict that market for developers.

  4. KarlS

    June 18, 2010 at 4:37 pm / 

    If Unity apps are not retained on the App Store, I will definitely write 3D apps for the Android platform with Unity as well as 2D apps for iPhone / iPad with Objective C. The work required to develop one’s own realtime 3D engine plus middleware / level editor is huge. I have seen it with my colleagues back then at Kalisto Entertainment. If I had to write my own, I would be setup in at least two years. And most of us do this after work…

  5. fernando bueno

    June 14, 2010 at 9:32 pm / 

    Bueller? Bueller?

  6. TJ

    June 10, 2010 at 3:45 am / 

    really someone should say something… I have a huge huge huge project in line and this would be a catastrophic decision to step on a landmine right now. There would be no time to recover… this is really a critical decision point and Im sitting here reading this daily trying to get a real answer.

    were already ramping on SIO2 and straight C, C++ engine…but in all honesty Id rather stick with Unity.

    Anyone? anyone? (echo, echo.. echo… )

  7. JohnV

    June 9, 2010 at 7:15 pm / 

    Is there anything new to report now that iOS 4 has been released?

  8. groovfruit

    May 13, 2010 at 4:48 am / 

    I propose that EVERYONE who uses Iphone Unity, should Unity be banned, ALL head for Android! If Unity could create an Android compatible add-on (or the like), that would be sweet, and apple will return to it’s hole left from the 80s :P

    Thanks Unity for fighting the hard fight and looking after us. May the creatives win! Our audiences care not for the tech, but the game itself.

  9. Daniel Monroe

    May 8, 2010 at 8:43 pm / 

    Is there ANY news about this?

  10. anom

    April 27, 2010 at 12:18 am / 

    @davidf
    Same can be said about the 2 Android phones.. you dont think some ppl want the best phones from android?

  11. davidf

    April 25, 2010 at 4:45 am / 

    Just a quick edit – I meant Apple never breached beyond niche markets.

    Also its interesting to note that in the last several months already 2 Android based phones beat the 74 days to reach a million sales that iphone established. And lets face it the iphone sales are double dip figures(tainted with I have a new iphone voucher but not a real phone) , buy an iphone(missing real world functionality) then buy the upgraded iphone (3g) then buy the next upgrade etc..same double dip standard is being applied to ipad.

  12. davidf

    April 25, 2010 at 4:37 am / 

    @Dell – you’re joking right ? – hey I have some old worldcom shares from the 90′s wanna buy them, I can give you a good deal.

    Jobs screwed developers and software houses in the 80′s and a lot of them got burned, in turn that hurt Apple(lack of choice in software). Can you explain why Apple desktops never breached niche markets ?.

    in 2007 there were no ‘iphone’ developers, existing developers came on board and gave Apple a much needed success, these same developers have the power to reverse that.

  13. Dell Lawrence

    April 16, 2010 at 6:55 am / 

    I don’t work for Unity. My comment still stands. It’s based on my knowledge of the software industry and Apple and is not endorsed by Unity or should be construed as anything other than what it is… my opinion. Unity is right to say there are no guarantees. After all they are the company that makes Unity and they have obligations to be conservative in their appraisement of the situation.

    This is my gut feeling based on what I have seen in the past and current events. I am sure we will all find out shortly. A different company I know which I am not at liberty to discuss just went through this same hand wringing issue and it just came out on the positive side. Stay calm and keep developing your title..

    All will be resolved shortly I am sure.

    Best, Dell

  14. SayWhat?!

    April 15, 2010 at 12:11 pm / 

    @Telis – you said you’re worried that if Adobe does get approved, it’s a sad day cause there will be more competition out there.

    Erm, if you’re worried about that then you need to focus on your game ideas and design… seriously.

    In any industry, added competition = raising the bar on quality. It’s a good thing.

  15. SayWhat?!

    April 15, 2010 at 12:08 pm / 

    Dell – do you work for Unity? :P :P

  16. Dell Lawrence

    April 15, 2010 at 6:22 am / 

    To the Unity Community:

    I have worked in the software industry for longer than a few years and also developing Apple SW. I pride myself in reading between the lines of what is actually going to happen. In fact I have had more than a few public speaking gigs to explain how future game changing tech might affect the future business of developers, consumers and manufacturers.

    If you hold off buying Unity 3.0 or pause your development plans because you are worried that Apple is going to toast Unity for the iPad and/or iPhone you will regret later stopping at this point.

    I am 100% certain that Unity will be approved as it stands and in the rare event it does not I am sure the Unity dev team will provide a solution.

    So buy 3.0 and Unity iPhone 1.7 and keep on developing for iPad and iPhone. Don’t let the “worried” dev posts on this forum deter you from your iPad/iPhone dev plans. Don’t waste your time being an Apple hater, just get on with your dev project. Apple’s app store is still the best way to reach the user base of customers who will buy your game. If the game is worthy, you will succeed.

    In the past you made games and prayed you could get it into consumers hands and multiple confusing/expensive distribution channels. Now you have the easiest access to the end users in the history of SW development.

    Be a professional and don’t panic because of a few people who proclaim “The Sky is Falling” online. Focus on your project, make it the best you can and keep pushing forward.

    Refer back to this post at a future date and you will see my advice to you was excellent….

    Best, Dell :D

  17. SayWhat?!

    April 15, 2010 at 12:34 am / 

    Well, as a developer of games for Sony, Nintendo and Microsoft, I find Apple’s actions absurd.

    I’ve never been told by Sony and team that we can only use x engine or x technology to develop their games. So long as we meet their TRCs they’re happy. We can use whatever damn engine we want and each game is judged on a case by case basis. This is what Apple should be doing.

    Sean, how does Flash “compiler entirely bypasses Apple’s SDK, which makes it far too easy for such applications to be built…” out of interest? It was my understanding too that it does use Xcode to build, too.

  18. Panagiotis Kouvelis

    April 14, 2010 at 5:49 pm / 

    Don’t bow to the giants, let them decide if they want you or not, not the other way around, if apple want to lock it down, then I sure don;t want to go that way, who knows what will come next. They are boiling the frog!

  19. Michael Ramirez

    April 14, 2010 at 5:41 pm / 

    This new restriction by Apple opens an opportunity for Qt. Qt is a cross-platform application and UI framework written in C++.

  20. Superwaugi

    April 14, 2010 at 4:52 pm / 

    We have already pre ordered Unity 3.0 pro and 3.0 iphone before OS4 was presented and we are concerned that now we may not be able to use this new release for the iphone.
    We are also halfway through on our first ipohoneproject (as someone else also mentioned above). It would be devastating, if we could not publish it. But I think, we are all together in this and I´m sure Unity will try to do whatever it takes. You guys have done such an amazing job in the past!
    If it really does not work out well, maybe you could give away for those who preordered 3.0 iphone some goodies for android, as soon as it is finished?
    All the best to you!
    Superwaugi

  21. Sean Baggaley

    April 14, 2010 at 2:11 pm / 

    Sheesh, people, give it a rest already. This was entirely predictable the moment Adobe decided to throw a strop. Unity isn’t likely to be affected by this in any case: it *does* use XCode as part of its iPhone build process! THAT is the key.

    Apple’s key criticism of cross-platform development is that it often results in Lowest Common Denominator Design, where the developer only uses features available on all his target platforms. Adobe’s iPhone Flash compiler entirely bypasses Apple’s SDK, which makes it far too easy for such applications to be built.

    If you’re uncomfortable with being iPhone-only—and you damned well should be: putting all your eggs in one basket is a *terrible* business plan—then I strongly advise you design your applications using a modular approach and ensure the UI is separate from the model. That gives you the freedom to more easily convert the application to other platforms.

    The iPhone may have a big customer base, but you need to redesign your game’s UI if you’re converting to / from other platforms anyway: last time I checked, most people didn’t have a 3.5″ multitouch display on their PC, Mac or games console.

    The trick is to ensure you take *full* advantage of each platform’s capabilities. This is simply good practice: if you just do the bare minimum to get your app working on each platform, you’ll get a well-deserved reputation for writing “me-too” apps. The world really doesn’t need more of those. Your iPhone version should *feel* like an iPhone version; ditto for the Android release, for the XBLA release, for the Wii release, etc.

    (Oh, and Objective-C 2 is no worse than C++ or C#. If you don’t know more than one programming language, you’re doing it wrong. Obj-C is actually one of the easiest languages to learn.)

  22. Andrew Lisk

    April 14, 2010 at 9:19 am / 

    Hey guys since we are all in this same sinking ship, you might want to share and promote sites like http://www.StopTheMadnessSteveJobs.com.

    At least if the public sees our discontent maybe they too will understand exactly how Apple is screwing us.

    As the author of the post puts it “band together, spread the word, and help Stop The Madness.”

  23. Mango

    April 14, 2010 at 7:55 am / 

    I want my $99 back from Apple. Seriously.

  24. Matt

    April 14, 2010 at 4:56 am / 

    So I guess this isn’t the best week to start getting into Mobile Game development?

    I guess I’ll wait until Unity for Android is released, or this IPhone issue gets sorted out. I was already hesitant taking my time away from contract work to target a closed platform like the ones on Mobile Phones.

    I almost fell for it too. I started dreaming of iPhone riches… but then Steve Jobs turned my dream into a nightmare by yelling at me “you can’t have an affordable game-engine and you can only code in Objective-C”. Scary stuff. Maybe a web start-up is a better option for me.

  25. Daniel Wind

    April 14, 2010 at 2:48 am / 

    I think the smartest thing we (developers) can do is to wait for the unity team to gather more accurate information on the ToS interpretation. As David Helgason mentioned there were confusion times before and Unity successfully solved them. And for all of those that complain about Apple new terms: Welcome to professional development! This will always be there for making our life’s harder…

  26. djandrew

    April 13, 2010 at 11:04 pm / 

  27. Harold

    April 13, 2010 at 9:37 pm / 

    I agree Fernando, one of the things that makes the App Store great is that they can say “There’s an App for That”, well what is going to happen when we are all angry over this draconian decision they just made and move on to Google and Android? Do you honestly think that the Android market just won’t grow with all of those great apps moving to be exclusively on their platform instead of Apple? I mean I am just starting so it is no big deal for me to shift gears to a different handset. If I am any indication of the development community, that means most new endeavors will start targeting Android. That will HAVE to hurt Apple in the long run. Way to bite the hand that feeds you Apple.

  28. Fernando Zapata

    April 13, 2010 at 9:07 pm / 

    I think now Android has an even better chance of catching up with Apple’s AppStore. For example, this developer of a “Car Locator” Android app went from making $5-6 dollars a day to $13,000 dollars a month: http://eddiekim.posterous.com/an-android-success-story-13000month-sales-0

    People will go to where the hot apps are at. Apple may have the lead now, but if they continue to treat their developer partners this badly that can change over time.

  29. Ippokratis

    April 13, 2010 at 8:56 pm / 

    Maybe you find this article interesting. http://www.appleinsider.com/articles/10/04/09/apples_prohibition_of_flash_built_apps_in_iphone_4_0_related_to_multitasking.html
    The article points that apps compiled with foreign structure are bad players when it comes to multitasking. This previous (chronologically) article http://www.devwhy.com/blog/2009/10/8/flash-on-the-iphone.html also points that the system resources consumption of flash-made apps is too high. Could this be one of the reasons ? But aren’t all games resource-consuming, regardless the platform ? I hope there is a “window” so Unity can stay in game. Its ironic, because the sole reason I bought an Ipod touch and moved over Mac platform is Unity.

  30. Michael

    April 13, 2010 at 5:17 pm / 

    Like everyone here, I’m nervous about this, and concerned about how Apple’s move will affect me as a developer; however, I can’t help but be a little perplexed by comments like “they want to own you”, “I hope Apple dies a slow death” etc.

    I’m not sure how many of you folks were developing games for the mobile market before the advent of the iphone, but if you think Apple is a “control freak”, you have no idea what it was like trying to develop for earlier generations of handsets via the major carriers. There was such a small percentage of a chance that your game would get published to begin with, then there were the months and months of opaque and seemingly arbitrary approval processes, hellish update procedures and wait times, painful porting and testing across a myriad of handsets, greedy publishers between you and the carriers themselves, etc. — Apple may not be doing everything perfectly, but they set a precedent with the app store for ease of entry, opportunities for “the little guy” to publish just as easy as the major players, a complete ide with simulator test environment, etc. etc.

    Yeah surprise surprise, Apple is a business and they make decisions in their own favor and to the detriment of others sometimes. It sucks for us that this could limit our ability to develop via the method of our choosing, but in our frustration we should try to keep some perspective and remember what chance we indies had of publishing a mobile game before the iphone. Android may be on its way toward viability as an alternative, but its publishing model wouldn’t even exist if it didn’t have the iphone and the app store to emulate.

    Most developers I know have consistently complained about the hordes of low quality, throw-away junk apps that drowned out their game in the app store. Yet now they cry foul when Apple takes steps to quash the potential deluge of Flash-based crap that would make it all the more difficult for a good game to get noticed amongst the noise. Again, I too am nervous about how Apple intends to implement the new rules, and I would much prefer to keep developing in Unity (which I love) but I can appreciate that Apple’s in a tough position as an industry leader and innovator and I don’t envy the choices they have to make right now.

  31. Ashkan

    April 13, 2010 at 1:51 pm / 

    for the first Microsoft is doing something like this too. you don’t have native code access in windows phone 7 series. but i think it will be solved soon when Microsoft see people want it. they don’t want to sell the XNA/silverlight and just want to have apps in their marketplace. porting unity to XNA might not be good but microsoft is in our side because they got the native api to adobe to write flash player. think a litle, they have silverlight as a competitor but apple has no platform in the market to compete with flash. i think android/windows phone will be the winners. even if this time we save unity they might kill us next time. i think soon even mac computers will go away. i think this time the war is against adobe but unity is the next target.

  32. Hersh

    April 13, 2010 at 1:45 pm / 

    I think Apple should have been more upfront about banning cross compilers in 2007 itself when Iphone was released. This is just an evil move. It sets bad precedents, now a lot of developers will always have doubts about any Apple Intent. To announce this so suddenly when all the companies like IPhone, Unity, Monotouch were busy developing cross compilers is completely mean and evil. Worse than ever Microsoft was. This decision has been done just to spite Adobe who have spent millions of dollars to write a cross compiler. Yes one should compete ruthlessly and I understand Apple’s move to sell more macs and get more interested in Objective C, but why did they not be more upfront.

  33. Robert

    April 13, 2010 at 10:40 am / 

    Steve Jobs should stick to designing hardware, not meddle with developers. It is the developers who made app-store successful. Remember Apple did not even release the SDK for Iphone Gen1. The appstore success was not planned. It was accidental because the developers saw the benefit of writing apps to reach the large mass of audience. And as far as platform companies are concerned, Apple is nowhere in the league of Google or even Microsoft. Google and Microsoft would never treat their developers this way. They are giving away free tools, free phones, holding developer contests to encourage developers and in contrast Apple is making life of developers difficult. Apple Fanboi comments do not matter as they are emotionally/mentally incapable of any criticism of Apple. Yes my mind is ‘closed’ to apple fanboi thoughts.

  34. Nintari

    April 13, 2010 at 9:35 am / 

    Fact is, they know they have the masses and they want software exclusivity. They know many developers will be wooed by the 80+ million iPhone users. They know they have the upper hand. Why let Unity develop for iPhone when it will be relatively easy to eventually port the same games/apps to their competitors? This forces developers to be exclusive.

    They don’t want your games to appear elsewhere. They want it to be difficult. They want to own you.

    That’s why I’ve never been particularly interested in iPhone development. That’s why I’m far more interested in Android. Just because iPhone is in 1st place doesn’t mean it can’t be dethroned. And with Apple’s attitude as of late, I think it’s just a matter of time.

    My $0.02.

  35. suzu

    April 13, 2010 at 9:25 am / 

    A little consumer perspective: I’ve got an iPhone, and I think it’s a nice, quick platform, and I like browsing the App Store. I dabble in (academic/experimental-type) coding, but I’m mainly just a glorified consumer.

    In my experience, less technical users are not completely deaf to developer frustration with Apple. Even my (non-technical) dad has asked about this and that disabled/disallowed feature. And, to reiterate, while I applaud the jailbreakers, personally, an unsanctioned workaround seems like more trouble than it’s worth for a consumer device.

    (Detour: Yes, I, too, began my “real” computing career on an Apple, and I stuck with Apple through OS 10.4, but now I’m out. Too expensive to maintain, limited and pricey software selection, little or no backwards compatibility, limited interoperability. It occurs to me the App Store/iPhone platform is a credible response to these criticisms–but no matter how high the quality or secure the environment, I’ve been around long enough to want to 1) keep my options open and 2) get my money’s worth (exploit device/platform capabilities to their fullest)–two things that don’t seem to figure highly in Apple’s “walled garden” approach to mobile computing.)

    Hey, take it with a grain of salt–it’s hard to argue with 30M users! But besides frustration with the iPhone form factor “monoculture” (yes, I’m one of those still whining about the iPhone’s slick, non-stylus UI), it really irks me that tethering is purposely disabled in the U.S. And for entertainment, let me tell ya’, it’s useless, unpolished/unpolishable things like “Hello, World!” in some crazy javascript 3D engine that have always piqued my interest.

    If that sounds silly, hey, as far as I’m concerned, we could be getting 99% of iPhone utility out of a Nokia candybar–yes, I’m saying the iPhone’s so-called “functionality” is mostly frivolous. The iPhone’s messaging capabilities are like a slender excuse for grownups to carry around a portable gaming device, (or MP3 player). Which is great. Which is why Apple should let crappy apps run rampant and stop taking their UI so seriously.

    Again, speaking from a consumer POV, I only care about developer “freedom” indirectly, in that it somehow ensures there really is “an app for that” whenever I go shopping. Apple’s heavy-handed behavior interferes with my enjoyment of the platform, and it won’t be long before there are competitive open platforms: From iPhone clones you can tether in the U.S.A. to mini-tablets that can make phone calls…even take pictures! I don’t know if an Android phone is next, but after all the fun I’ve had with the iPhone, it feels like I’ve outgrown it, and I’m looking for something better, no jailbreaking required! I may not be the most typical user, but it’s a fickle market–it doesn’t take much to divert their attention, en masse….

  36. Hugh

    April 13, 2010 at 6:25 am / 

    I just don’t know what to do. I’m partway through my first project with Unity.

    Unity is clearly banned according to the language. I really don’t even see any wiggle room. Monotouch can output Objective C code and it’s still banned because the app isn’t ‘originally’ written in Objective C.

    But I just can’t believe Steve would get rid of so many awesome games and such an awesome toolset. Everyone seems to expect them to only enforce this rule against bad actors. I sure hope that’s true.

    Boy is this gonna keep me up at night. Should have kept the day job.

  37. mindlube

    April 13, 2010 at 5:51 am / 

    Thanks David for such clear communication! Unity didn’t make me rich and famous, yet, but at least I am drinking good beer. Upgrading to Unity 3.x real soon now.
    Alex

  38. geckodru

    April 13, 2010 at 12:19 am / 

    It costs a lot to develop an application. It costs more to develop a platform. Unless there’s a market for either, you’re wasting your effort developing them. When Apple introduced the iPhone, there where a lot of platforms (RIM, KVM, Symbian, CE) and no market where a developer could profit.

    Developers saw a potential market in the iPhone. With SDK and AppStore, Apple created a mobile development market. I and other developers have a venue where we can profit. After Apple changes their licensing, as long as we can still profit in that market, we won’t abandon it. Android is another market where we can profit. We’ll see what Windows Mobile 7 has to offer.

    Be realistic, it’s all about the money.

    Apple’s new licensing will make cross-platform development more difficult and make some tool makers rethink their tools. The mobile and embedded platforms are difficult to cross-develop for. You have half a dozen different languages: Brew, Obj-C, C, C++, C#, Lua, Java, HTTP, Forth, JavaScript, etc. And even devices that share languages have distinct runtimes or just subtlety different profiles (KVM, ugh.) and completely distinct platform libraries. It is not easy and it is in the best interest of vendors – especially vendors with any amount of market share – to keep it that way.

    If a developer leaves a platform’s market because they don’t have the time to make the effort to deliver a platform specific product to a mobile or embedded device, that is a good decision for all of us, developers, consumers and platform vendors. Developers lose noise that consumers have to dig through to find their app. Consumers don’t have to waste their time digging through half-baked/2nd thought applications. And vendors get developer lock-in, etc.

    All that said… I won’t miss flash or mono touch. I’d be a bit flustered without Unity3d, though I’ve not delivered an app with it (perhaps eventually, albeit not work related).

  39. Adam

    April 12, 2010 at 11:39 pm / 

    +1 for android. :)

  40. Jax

    April 12, 2010 at 11:25 pm / 

    Not sure about the microsoft “stooping low”. From my understand all .NET executables and .dlls contain MSIL (microsoft intermediate language) which you can target from a number of languages.
    I certainly would be utterly amazed if they placed any restrictions upon how the MSIL was generated in the first place as that premise runs counter to the architecture of .NET itself.

  41. Fernando Zapata

    April 12, 2010 at 11:24 pm / 

    I am still hopefully that Apple can be influenced to reconsider this by companies like Unity and the developer and user communities. But if they are on a track to stop cross-platform tools and their minds can’t be changed this is a serious problem. It does look like this might be more than a war against Flash, and part of a larger move to make it more difficult for their competitors to close the application gap. If they don’t change their course, I hope this backfires on Apple.

    http://arstechnica.com/apple/news/2010/04/steve-jobs-weighs-on-iphone-os-dev-controversy.ars

  42. AnusApple

    April 12, 2010 at 9:16 pm / 

    I’ve had it with Apple, Android for the win.. I hope Apple dies a slow death for how they treat their partners. BTW: Androids market share continue to increase at aproximately 5% each 3 months. Looks promising!

  43. Harold

    April 12, 2010 at 8:13 pm / 

    I would like to echo many other’s on this reply list. If this does affect Unity, then viva la Android. I bet Google wants new and exciting independent games to be EXCLUSIVELY developed and released on their platform. Let’s help them grow their footprint then. Even if this doesn’t affect Unity, I still think Android just got a LOT prettier to me. This childish behavior by Apple scares me.

  44. Adam

    April 12, 2010 at 8:09 pm / 

    @Mehdi – “Steve jobs made the exact same decision years ago which ended almost in their bankruptcy.”

    Please do elaborate.

  45. mongol

    April 12, 2010 at 6:52 pm / 

    @Sean Baggaley: nice and succint

    Along the same lines: http://www.devwhy.com/blog/2010/4/12/its-all-about-the-framework.html

    Adobe was very aggressive in forcing Apple’s hand

  46. Mehdi

    April 12, 2010 at 6:24 pm / 

    “nah, we’re not Adobe, Apple wouldn’t do that to us.”
    Heh, Sure they can. Steve jobs made the exact same decision years ago which ended almost in their bankruptcy. Same mistake, they guy is a control freak. if you’re wise, you will start to make your move to Android

  47. Rick

    April 12, 2010 at 6:18 pm / 

    Great explanation Sean. Pretty much sums it all up.

    Thanks!

  48. Sean Baggaley

    April 12, 2010 at 4:26 pm / 

    Apple’s only reason for the new T’s & C’s is to ensure a consistent user experience. The user experience is ALL Apple cares about. The developer is secondary. Their design philosophy is entirely focused around the *user*, not the developer. This means controlling as much of the design and production process as possible—the App Store, iTunes, synchronisation, the APIs, the GUI, marketing, packaging design, etc. What many see as control freakery, is actually just an inherent aspect of their approach to design.

    When Macs were still based around the PowerPC architecture, Apple were very badly let down by decisions by IBM and Motorola / Freescale (who made the PowerPC chips) which resulted in stagnation of these CPUs. Hence their switch to Intel processors. This experience left its mark on Apple, hence a big part of their philosophy is picking future technologies which they can exert some control over. HTML5 is an open standard which Apple can implement themselves. Flash is not, and would leave Apple dependent on a third party developer which has already proven to be a fair-weather friend at best. (Adobe’s treatment of the Mac version of Premiere is a good example.)

    This has nothing to do with Flash’s notoriously poor performance on OS X (and Linux) platforms: Adobe certainly have the resources to fix that if they want to.

    Remember, too, that OS X’s entire display technology is built around PDF, and has been since OS X’s first release. So this isn’t an “anti-Adobe” thing. This is a fundamental *philosophical* issue. Flash isn’t owned by Apple. Apple therefore cannot help shape its future, but Apple *do* have some say in the future of HTML5 as one of the two people in charge of its development is an Apple employee. (The other is paid by Google.)

    Unlike Unity, Adobe’s pre-compiled Flash tool for producing iPhone apps does not appear to use Apple’s tools at all. This means such apps would not be able to take advantages of SDK updates—something which can easily break legacy apps if not used properly.

    Unlike Microsoft, Apple aren’t all that bothered about retaining backwards compatibility over the full life-span of OS X. If a new API lets them improve the end user’s experience, Apple would rather you updated your app(s) to use it, rather than retaining their old interfaces. Apple are utterly ruthless about improving their APIs, and will cheerfully kill off older ones if their new one does things better.

    Unity is not (yet) a threat to Apple’s philosophy directly, but Flash is. It’s possible Apple might not be that bothered about losing Unity support for their fully closed platforms—it’s unlikely, but a lot depends on Apple’s future plans—but I suspect they won’t go this far. Unity competes with Director, not Flash, and has uses far beyond games.

    I think the key differentiator is that Unity does use Apple’s XCode toolchain as part of its build process. Adobe’s solution does not. It’s therefore much more likely that the latter will more easily fall foul of major changes to the underlying OS—for which Apple, not Adobe, would be blamed by users.

    If Adobe’s solution were allowed in, developers might easily find iPhone OS 4 breaks their apps. Who would customers blame? Apple, not Adobe. This is a problem Microsoft have suffered from for years and Apple aren’t about to repeat history.

  49. Ethan Fremen

    April 12, 2010 at 4:21 pm / 

    This has everything to do with the stateful inspection they can do with objectivec/c code that is compiled by their compiler, which they are using to implement multitasking.

    So my suspicion is as long as Unity can play nice with the stateful inspection that the iPhone kernel needs, it should be ok. (from a technical perspective, anyway.)

  50. tons

    April 12, 2010 at 2:42 pm / 

    Relax,

    I am confident that a good solution can be found :-)

    Apparently, what Apple seem to want is:

    1) to avoid having flash native on the iPhone (but apparently flash will be able to output HTML5, so that we will have it that way on the iphone, which is probably a reasonable compromise for Adobe).

    2) to ensure that the developers can access the latest features of the system, regardless of the environment they use, which is a good thing anyway.

    I don’t agree with how Apple tried to accomplish this, but I still think this is not as bad as it sounds for Unity and for its developer community.

    In an ideal world, I think it would be just a matter of time and effort before Unity became fully compliant with section 3.3.1…

  51. Telis

    April 12, 2010 at 2:30 pm / 

    I hope that Apple focuses its requirements to Adobe CS5 only. But that will be an open door for a lawsuit from Adobe. So we (unity developers) are basically in a situation where having CS5 approved by Apple or NOT approved we lose both ways. Approving CS5 we are going to get a ton of flash apps to compete with, not approving CS5 then we might also be banned from developing on iphone. Sad day

  52. horace

    April 12, 2010 at 2:22 pm / 

    or wouldn’t it be possible to let the AOT output c instead of assembler?

  53. horace

    April 12, 2010 at 2:18 pm / 

    yes, how can apple check if an application got compiled from generated c or handwritten c? that’s impossible or do they also require to get a look at the source code?

    i don’t know if using vala or genie would be feasible but couldn’t the creator of boo who works for UT also do a boo/unityscript to c compiler? :)

  54. tons

    April 12, 2010 at 1:09 pm / 

    @alan
    I wouldn’t be so sure that it’s exactly the same thing as writing in Java, D, C#, Ruby or Python.

    I think it would be more similar to using a UML code generator for C++ or a parser generator like ANTLR, which produces readable code.

    This cannot be disallowed, because I could write exactly the same code by hand. There’s no way for Apple to know.

  55. alan

    April 12, 2010 at 12:38 pm / 

    “Vala COMPILER OUTPUT IS PLAIN C SOURCE CODE (so long section 3.3.1!!!)”
    No, not at all. Your program was not originally in C, C++, Obj-C or Javascript. You’re just as screwed (or not screwed, depending on what the final terms of the agreement are) as if you wrote your program in Java, D, C#, Ruby or Python.

  56. Aras Pranckevičius

    April 12, 2010 at 12:18 pm / 

    @Herdy: Unity for Android was already announced at GDC2010 about a month ago. We are working on it.

  57. Herdy

    April 12, 2010 at 11:51 am / 

    Just out of curiosity… If things doesn’t work out with Apple. Would you consider creating Android or maybe even Symbian publishing capabilities?

  58. tons

    April 12, 2010 at 11:51 am / 

    Hi,
    I had already pre ordered Unity 3.0 pro and 3.0 iphone before OS4 was presented and I am concerned as everyone else in this moment.

    I have just a simple suggestion that could solve the problem should the worst case scenario happen:

    Have you guys at Unity ever looked into Vala (http://live.gnome.org/Vala)?

    Vala is a language that is SIMILAR TO C#.

    Vala COMPILER OUTPUT IS PLAIN C SOURCE CODE (so long section 3.3.1!!!).

    Vala is part of the GNOME project (GPL licensed).

    What about offering Vala development as an option on the iphone?

    All the best to all the people working at Unity :-)

  59. Thomas Mayer

    April 12, 2010 at 11:35 am / 

    @BOTW *facepalm*

  60. n0mad

    April 12, 2010 at 10:54 am / 

    Thank you so much David. You all are great, really.

  61. CodeVomit

    April 12, 2010 at 10:36 am / 

    @BOTW Programs written in C/C++ and probably others are turned in ASM before being assembled into binary.

  62. Bob

    April 12, 2010 at 9:21 am / 

    At least Adobe is upfront about it, but Mono, Unity, Titanium companied are living in denial, they are effectively banned(unless they write tools which only develop against Apple SDK). Sad but true and unfortunate

  63. Bob

    April 12, 2010 at 9:18 am / 

    Apple is skating on thin ice, I think, they wanted to ban flash developers from their platform, but as collateral damage, even unity, monotouch, titanium etc is banned. I feel sorry for these companies who are the unintended victims of war between Apple and Adobe. I don’t think Apple can ban Adobe selectively through whatever legalese they write. It might be their hardware and their platform, but if it writes legalese in such a manner to just ban Adobe, they might be in for anti-trust litigations. It is like a 5 star hotel making rules about the dress code for admittance to their hotel, but the 5 star hotel owner does not like a particular person for some reason and he writes rules so as to ban that particular person only(through whatever unique things, say that persons unique social security number) through complicated legalese. This is USA, not China.

  64. Robert

    April 12, 2010 at 8:27 am / 

    One popular application–it’s even been featured in Apple’s ads–uses handwritten ARM assembly-language code: the guitar tuner application. Apple doesn’t seem to mind that.

  65. Robert

    April 12, 2010 at 8:26 am / 

    Folks:

    Stop spreading misinformation about Adobe’s Flash compiler products. If you don’t know how it works, don’t comment on it.

    Steve Jobs simply doesn’t want disintermediation. He wants complete control. For some reason, he is able to develop a cult that believes he is somehow not an aggressive businessman.

  66. mutatedwombat

    April 12, 2010 at 7:47 am / 

    @David Owens

    So, the choice is:

    1. Use only Apple tools, forget about porting my application to any other device, and go bankrupt if Apple doesn’t like my software.

    2. Use third party tools designed to facilitate portability across platforms, and *possibly* have to delay a release on *one* of several target platforms, because I have to wait for Unity to catch up.

    Not such a difficult choice, really.

  67. David Owens

    April 12, 2010 at 7:36 am / 

    You didn’t get my point. Unity converts the C# code to ARM assembly. 100s or 1000s of games use Unity. iPad v3 switches to Intel (or even just adds new extensions forperformace gains). All Unity games must wait for Unity to release it’s new version of it’s compiler.

    Had your games been written in one of the “supported” languages, a recompile is what would be needed. Apple is in charge of the toolset that creates the final application.

    Apple doesn’t want that type of third party power on it’s platform.

  68. mutatedwombat

    April 12, 2010 at 6:58 am / 

    @David Owens

    Any code that is not interpreted at runtime (i.e., all compiled source, versus source that is translated into byte codes) is tied to the underlying processor instruction set, regardless of how it was authored. The degree to which it is tied to the various hardware peripherals (screen, accelerometer, etc.) will depend on how good the OS is at abstracting such things, not on whose tools were used to write the code.

    In any case, I don’t see how using third party tools that are designed for portability across platforms (that by definition use very different hardware) is going to limit portability across various incarnations of future iDevices.

  69. BOTW

    April 12, 2010 at 6:33 am / 

    @Thomas Mayer,

    ARM ASM is not one of the languages Apple allow you use to write applications.

  70. David Owens

    April 12, 2010 at 4:24 am / 

    @Thomas Mayer

    You’ve already identified the most important part of the problem. The AOT compiles to ARM assembler. Now Apple has a tier of applications that are all dependent on the architecture of the underlying platform of the iPhone OS devices. Not only that, how efficient is your assembler?

    Apple doesn’t want to be in the position of these types of problems, where 3rd parties are blocking considerations for future developments.

  71. months

    April 12, 2010 at 3:07 am / 

    We will likely not now from sure whether or not this will affects Unity for a few months.

  72. Thomas Mayer

    April 12, 2010 at 2:40 am / 

    @David Owens,

    How could I possibly be objective in this manner. This whole thing gets me annoyed. And for the record, Unity doesn’t allow you to execute arbitrary code, because the code is COMPILED IN, it is not like XNA, get that out of your head. Let’s review:

    - Person writes C# (or whatever) in Unity
    - Presses “Build and Run”
    - Unity AOT compiles all mono dlls to .s (arm assembler source)
    - Unity writes out XCode project file and Objective C wrapper
    - XCode compiles project, without any interference and produces iPhone application bundle
    - All code is NATIVE at this point
    - Your source code only talking to public API interfaces

    This is a NATIVE application with that same restrictions as any other C++, Cocoa, Objective-C application on the iPhone. It is not a VM at this point (it does not execute bytecode). It is a game engine, doing all the game engine things; managing asset loading and destruction, handling input etc.

    Why is it so hard to understand that my issue isn’t about Apple insisting that the application is native or that it is of good quality, or support the platform well.

    My issue is that they are over-reaching into studios to dictate that developers invest in their tools directly to the detriment of others they might be using, that this lock-in attitude the are pedaling, doesn’t work in the real world where developers use middleware (yes even EA, Sony and Microsoft) to achieve an efficient development of a title.

  73. David Owens

    April 12, 2010 at 1:58 am / 

    @Thomas Mayer

    Maybe we should leave the subjective criticisms out of each “summary” if you want to have a better argument.

    Or maybe this version:

    Apple: “I want you to make sure that your executable uses approved Apple libraries; you’re only allowed to use the public APIs and you are only allowed to use them in a manner that was intended. The only supported languages for your program are C, C++, or Objective-C as those are the languages that our compilers support (read: we can optimize our compilers for our platform better than you can). In addition, third party runtimes built on top of our systems are not allowed as that allows for the arbitrary execution of code that is against our terms of service (read: someone could write an app that runs arbitrary flash from an arbitrary system possibly compromising the security of the users’ system). Apple reserves the right to validate your adherence to these policies and will validate your program as a whole does not violate our policies.”

    And I will again direct you to the XNA Live Indie games as just another example of this in the wild… requires you to build your games with the XNA Game Studio.

  74. mongol

    April 12, 2010 at 12:27 am / 

    a very plausible solution is for Apple to buy Unity

  75. David

    April 12, 2010 at 12:13 am / 

    Doesn’t look good for MonoTouch nor Unity right this minute. If these letters that are circulating around the web, are real letters from Mr Jobs, i think CEO of Unity is being rather optimistic about Unity being allowed still in the Apple app store. Its pretty obvious to me that MonoTouch for sure is definitely not going to be allowed any more. I just hope i am wrong and Unity iPhone survives this somehow. Here’s the link to more correspondence to people that say they have been told by Mr Jobs some very concerning info about monotouch and by proxy i guess Unity3d.

    http://lists.ximian.com/pipermail/monotouch/2010-April/001878.html

  76. mongol

    April 11, 2010 at 11:52 pm / 

    @Thomas Mayer

    Your analysis of Sony’s requirements makes sense, but up to a point.
    We need to take into account two things:

    First, the number of developers that each platform has.
    I believe iPhone has an order of magnitute more developers than Sony has for its PS3 platform.
    Second, the type of developers that each platform attracts. When you pay a big chunk of money to license Sony’s SDK, you most likely are a serious development outfit that really commits to this relationship and actually has some technical resources to throw at any problem.
    With Apple’s iPhone platform, for the first time in history, we are witnessing the small indie developer getting access to the user’s phones and game consoles. Of course these indies come from all walks of the development world and they carry over their beliefs from the other development platforms.

    You can’t compare EA developing for PS3 with Joe Shmuck developing for iPad in his basement. The power relationship is not the same and the rules of engagement are different. A large development outfit has more skin in the game to not mess things up on Sony’s platform.
    Joe instead can quickly pretend to develop for iPad using the lazy Flash platform.

    Yes, I know that Unity and MonoTouch appear to be collateral victims here.
    I am sure that their products will actually survive this. We just have to wait to see what form this will take.

  77. cmonkey

    April 11, 2010 at 11:49 pm / 

    If worst comes to worst, lets encourage Unity to
    develop either a Obj-C or C++ API to replace Mono
    for Unity iPhone. Unity iPhone is very amazing,
    and i hope it doesn’t go away if Apple plays tough.

    You can voice your opinion in this poll started by jbud:

    http://feedback.unity3d.com/forums/15792-unity/suggestions/637109-option-to-use-objective-c-c-c-as-scripting?ref=title

  78. Thomas Mayer

    April 11, 2010 at 11:19 pm / 

    @David Owens & @David G,

    As an authorized and published 3rd party developer for the three platforms and PS2,PSP before then, I have never had either Sony, Microsoft or Nintendo dictate what tools I should use to generate the C++ or Assembler that then goes through THEIR authorized compiler / toolchain. EVER. They mgiht have requirements like, don’t have any strings in this section of your executable in cleartext, but nothing like this. They care about what is in the executable as CODE, what libraries are included and whether they are safe for their system. Perhaps a publisher, where they have been involved in the development process as an executive producer, might get involved to ensure best practices, but never like this.

    The difference here. These two fictional statements sum up the difference between the two, for me, at the moment:

    Sony: “I want you to make sure that your executable uses approved Sony libraries and please call the following functions and please don’t include the following. Don’t care how you do it, just adhere. And make sure that your product can compete with other titles. We will check you quality at SUBMISSION stage.”

    Apple: “I want you to make sure that your executable uses approved Apple libraries and please call the following functions and please don’t include any of the following and you will have to do it this way. Don’t try to cheat, because we will pick it up in the submission process. You know, people who use middleware are lazy and they could never possibly produce high quality products like *cough* EA (because they could never possibly use technology like Unity). We will check your quality… oh no we won’t because our new policy will fix that for us and allow us to keep approving applications at the levels we currently are being 94% of applications in 7 days.”

  79. Klaus

    April 11, 2010 at 11:02 pm / 

    Hm, if that e-mail from Steve Jobs is true, unity 3.0 is in deep trouble.

    Maybe it makes sense then not to bundle the iPhone IDE into 3.0 but look how to address the requirements from the TOS. Maybe making a port from xcode to other platforms – making the iPhone code the leading source stream in the bundle.

    I would look forward seeing unity get’s some kind of official excemption – or some sound solution avoiding excemption in the first place.

  80. mongol

    April 11, 2010 at 10:46 pm / 

    (contd)… but I guess this is what happens when every Joe can so easily publish to a console: they start biting the hand that helps them…

  81. mongol

    April 11, 2010 at 10:45 pm / 

    What is weird for me is the fact that the actual beneficiaries (ie: the high end Unity indie developers) are those who cry foul. Guys, rest assured that you will be able to develop in Unity and deploy to AppStore. But if the iPhone market is swamped by cheap Flash knock-offs, you will be out of the market, with no ability to price at all. You will end up going back to dark ages and work for clients that will demand you to do Flash ads for the iPhone.

    Actually, you should be praying that the standards go up, because that will allow you to make a greater income from your products.

    It is dumbfounding how people can’t see their economic interest.

  82. Andre

    April 11, 2010 at 9:12 pm / 

    I think the way Apple try to limit the 3rd party dev tools is strange and not too effective. They should have just had a 3rd party development tools licensing policy, which would solve all their problems – if they want to license a technology, they could, and they would also make money out of this licensing process (it is their platform, after all!). If they want to keep a technology out of an ecosphere, just say the tool is unlicensed and reject any applications made using it, using whatever “reasons” necessary.

  83. Solomon Kane

    April 11, 2010 at 6:53 pm / 

    What I would like from Unity’s standpoint is some dialogue with their users about some risk mitigation strategies. Even if they don’t KNOW anything from Apple yet, they can tell us users (especially those of us who pre-ordered 3.0 advance for the iphone) here’s what we could do if the TOS turns out to be a worst case interpretation. That would certainly buy Unity some time and goodwill. Otherwise a lot of developers, like myself, will have to make the tough decision ourselves (maybe without all the info but such is business) and move forward with another solution. I’m hoping we can continue with Unity for the iPhone as well all are.

  84. David G.

    April 11, 2010 at 6:18 pm / 

    @Thomas Mayer.. I think David Owens said most of what I was going to reply, but I will add that I have had plenty of experience dealing directly with the console holders. You’re correct in a sense, that on the surface, the big three consoles appear to impose a standards and quality control function on the developers. In practice though, it is a far more… hmmm… invasive relationship, I guess you could say. Console holders (some are worse than others, for sure) will commonly meddle with the design of your product, make subtle feature requests (which are in fact veiled demands) and in some cases, stop the process of the development entirely unless certain criteria or arbitrary “quality thresholds” are met.

    It’s true, the analogy is not perfect, but it’s naive to think that these are free environments to work in. “Steve” — if you believe that he gets involved at this level — is quite openly messing with the dev community right now. The Sony/MS/and Nintendos of the world just do it behind closed meeting doors.

  85. Alex Chaffee

    April 11, 2010 at 5:28 pm / 

    “We haven’t heard anything from Apple about this affecting us, and we believe that with hundreds of titles (or probably over a thousand by now), including a significant proportion of the best selling ones, we’re adding so much value to the iPhone ecosystem that Apple can’t possibly want to shut that down.” WRONG — Steve said he specifically wants to stop cross-platform toolkits like yours — see http://www.taoeffect.com/blog/2010/04/steve-jobs-response-on-section-3-3-1/ — Unity (and MacRuby, and Rhodes, and…) are babies thrown out with the bathwater.

  86. David Owens

    April 11, 2010 at 5:21 pm / 

    @Thomas Mayer… Right, because the Xbox 360 doesn’t have a special toolkit that you need to use (and pay thousands of dollars for)? And XNA Live Indie games aren’t required to use XNA to write their games?

    The fundamental problem is that your premise is wrong. You think you have some intrinsic right to develop on a platform; you don’t have any. If Apple says they only want people to use binary, they can. The consumer wants the device for many reasons, if you want to develop and target that market then you need to adhere to the development requirements.

    You can talk about how it sucks and how you’d like it changed, but trying to play some card about how you develop software is none of Apple’s business when you are developing for their platform is disingenuous at best.

  87. ManniAT

    April 11, 2010 at 4:34 pm / 

    @Nintari: I understand what you mean – but are the >80 Million (potential) customers on Android?
    That’s the big problem!

  88. Nintari

    April 11, 2010 at 4:00 pm / 

    You would have thought Apple would have learned their lesson by now. I’m far more interested in Android.

  89. Thomas Mayer

    April 11, 2010 at 2:49 pm / 

    @David Owens & in particular @David G,

    I think you need to spend some more time developing on consoles before you comment on the apparent ‘same-ness’ of restrictions PS3 and 360 or even the Wii. While the big three consoles have TRCs and requirements, they are mostly console standards and qualitative requirements.

    However, this situation with apple IS different. Here we have Apple over stepping the mark by dictating that you must use a development process that Apple approves of. Seriously wtf? How dare Apple do that. If I use Unity and it generates Objective-C, C++ and Assembler and then use X-Code to compile and package it into an application, that’s my business not there’s. They have no business how I produce that application if it is via the approved conduit. It they don’t approve of the quality of the application and it non-adherence to standards, that’s a completely different matter.

  90. David G.

    April 11, 2010 at 10:25 am / 

    @David Owens… this is the most appropriate comment on the whole list here. I was going to point this out as well. So much complaining and outcry about Apple’s policies and control over the iPhone/touch/iPad store…. especially from the game development independents it seems. People talk about it like Apple is the first and only company to enforce tight security and quality control over what appears on their machines. All I can say is: welcome to professional software development. This is precisely what developing for consoles (Wii, Xbox, PS3, etc) is like for game studios (I know, as this is what I’ve done for the past 12 years). Is it free and wonderful and risk-free? No. Does it have a huge up-side, in terms of them (the companies producing the hardware) allowing us (the developers) to profit from their user-base? Yes.

  91. David Owens

    April 11, 2010 at 8:05 am / 

    @Robert… What do you think the Xbox 360 ecosystem is, a free for all? Also, you might want to look into the Windows Phone 7 stuff as well.

    The iPad is not an open system like a PC or Mac. Why people are so confused by this baffles me.

    Development on the iPhone platform is equivalent to development on consoles; very strict requirements and guidelines to be followed.

  92. Robert Kent

    April 11, 2010 at 7:17 am / 

    The biggest issue with me is Apple’s control over the software development process.

    Think about this for a second. If Microsoft required all Windows applications to go through an official Microsoft app store, the justice department would have gone after them.

    The customer should be the one to decide what apps s/he may or may not install, not Apple.

    Android is looking better and better each day.

  93. Paul

    April 11, 2010 at 6:39 am / 

    As far as the reference to MS requireing C# in some cases (e.g. the new phone platfrom), it is more of a requirement to be based on the CLR. If a language does not need extra natve runtime DLLs it is fine. That is how Python Ruby and JavaScript are options for silverlight as well. The platfrom also specifically allows JIT code and has tools for making new languages. But this is straying a bit from the main topic here.

    Unity 3d, Thank you for the post, may all go well.

  94. Bad Sector

    April 11, 2010 at 2:09 am / 

    If you think Microsoft hasn’t done something similar to developers at the past, ask Visual Basic 6 developers who were forced to either die with it or rewrite everything in .NET.

  95. sycren

    April 11, 2010 at 12:37 am / 

    Was just wondering if you have seen this blog: http://theflashblog.com/?p=1888
    As it mentions unity directly with flash and has been slashdotted: http://apple.slashdot.org/story/10/04/10/2142245/Adobe-Evangelist-Lashes-Out-Over-Apples-Original-Language-Policy

  96. Adams Immersive

    April 10, 2010 at 10:41 pm / 

    Also, re Daniel’s decision (and other such threats) we don’t yet know whether Apple even DID the thing that upsets us—in fact, so far it looks likely they didn’t. If so, this rage will be for nothing. (But understandable even so—and I share it.)

    Now, even IF this is a false alarm, Apple still deserves everything they get for having unclear legalese. Then again, boycotting every platform with unclear (or changing) legalese would be a tough market! So I’ll be afraid and mad in turns, but I won’t take it as far as keeping my stuff out of the hands of Mac users (who are a good demographic to have, so they say).

    IF this is a false alarm, I still see two pretty good reasons to be mad at Apple:

    1. Nothing to do with Unity, but with Flash. Adobe (and anyone they can get on their side of the Flash issue) is probably never going to pull any good outcome out of this. However, I don’t yet know the full reasons why Apple would do this—it’s a surprise to me—and it’s possible (only possible) that they’re combatting a legitimate problem by keeping CS5 off of the iPhone OS. (Waves of shovelware? Mass destruction of the iPhone’s groundbreaking UI conventions? Poor performance and battery life? Hampering the new multitasking? Hampering other, future OS and SK innovations? Starting a slippery slope that ends badly? I don’t know.) Also, at least they timed the OS 4 unveiling BEFORE people buy CS5. Think how mad people would be to find out later!

    2. Nothing to do with this instance at all, except that it’s a reminder of ongoing fear/anger over the past ham-fisted, unpredictably-changing, poorly-communicated handling of the App Store program. That is a serious offense, made worth it (to me) by how exciting, well-crafted, and even profitable the platform has turned out to be. Partly the problem may be that the success of the dev platform surprised them, and they hadn’t thought ahead about everything that would come up. And part of it is that they simply haven’t risen to the challenge (in developer relations) at the level we had come to expect from Apple. It’s not awful treatment as corporations go, but it’s somewhat shocking coming from Apple, when so many of us are used to dealing with, say, their excellent technical support staff. And although they’re improving the App Store’s problems (and adding a lot of good new things along the way) it’s discouraging how slowly they’ve done so.

    As for whether Apple’s worse than some other company: history doesn’t matter to most people when it comes to those kinds of things. All that matters is who hurt me, personally, the most recently. They are the worst :-) Apple has done a heck of a lot FOR me recently, but that’s not worth so much to me if they kill my Unity game. Microsoft has driven me to abuse NyQuil time and time again, in so many ways. And Adobe, who I once viewed with the good will I now hold for Unity, has disappointed me a lot recently. Mainly due to the shockingly convoluted, inconsistent UI that their apps (especially Flash) have taken on over time. CS5 looks like more of the same, but we’ll see. I’m sure I’ll remain a Flash developer no matter what: it’s the only such tool around at the moment! But I’m hardly angry at Apple on Adobe’s behalf. Certainly not without knowing the full reasoning.

    Most of the criticisms of Apple (as usual) start with “Apple is evil, I’m sure they are!” and work backwards from there to justify it. (While carefully ignoring that Apple’s “evil” moves also carry genuine benefits for users. It’s not black and white.)

  97. Eric

    April 10, 2010 at 9:09 pm / 

    Daniel, punishing Mac users for Apple’s behavior on the iPhone platform is petty. Even Adobe isn’t doing that, and they have more reason to be annoyed at Apple than you do. It’s not like Apple has any control over anything that anyone wants to publish for Macs. Considering the high sales percentages that indie games seem to get on the Mac platform (occasionally exceeding 50%), all you’re doing is cutting off your nose to spite your face.

  98. cmonkey

    April 10, 2010 at 6:48 pm / 

    If Apple does decide to enforce the strictest interpretation of its (beta) iPhone OS4 TOS, I wonder if is there any chance that Unity could develop a separate IDE based on its amazing technology, that would allow developers to code in Objective-C, C, and C++ in a way that is compliant with a strict interpretation of the iPhone OS4 TOS? Certainly, this will be a significant amount of work, but I’m wondering if it might be a possibility. Unity is absolutely amazing technology, and I know its currently dependent on Mono, but I also understand that large portions of Unity were written in C++, which would make it seem like there could be a possibility for an iPhone OS4 TOS compliant IDE with enough work (if Apple decided to be tough about their current beta iPhone OS4 TOS).

    Hopefully, Apple will revise its TOS in a way that does not impact Unity iPhone negatively. It would be nice if Apple provides some clarification next week … or if not next week, sometime this month.

  99. Big Pig

    April 10, 2010 at 5:30 pm / 

    We’re simply continuing developing as usual… whatever this turns out to be, Unity has all it takes to adapt, and make a product that complies with any rules Apple enforces.

  100. Michael Voigt

    April 10, 2010 at 5:07 pm / 

    Thank you for the update, I’m quite certain this will work out, Apple needs to restrict Cs5 flash apps and not unity, that is their agenda for this !

  101. Gilan

    April 10, 2010 at 4:38 pm / 

    It wasn’t the Flash player I meant, it was the part about needing XCode.

  102. Josef

    April 10, 2010 at 3:46 pm / 

    That’s the first time i hear that it’s indeed a “player” which only runs the things flash cs5 spits out – but if you say you have hand-ons experience (early beta or more recent version, mabye gold/rc candidate ?) i cannot argue against it.
    It was just my impression after following alot of blog entries about this topic that lead me to the conclusion that it’s not a “player” but more an “engine”, and its not interpreted or runtime compiled Bytecode that runs on the iphone at the end. The latter would be against the old iphone SDK TOS anyway, that would not need such draconian new clauses. But i have to confess that maybe i fell vitctim to a lot of speculation and wishfull thinking on my side, because i hardly can believe any traditional method (standard flash VM ontop of iPhone os) would perform well enough for anything nearly usable…

  103. Gilan

    April 10, 2010 at 3:40 pm / 

    Josef is wrong, but I’m not in a position to explain how I know that. After Monday I can.

  104. Peter D

    April 10, 2010 at 1:51 pm / 

    Josef

    I’m curious to find out where you got the impression that CS5 was somehow able to squirt code directly onto an iPhone or iPod Touch without going through the apple development process.

  105. Peter D

    April 10, 2010 at 1:48 pm / 

    Josef

    I’ve had access to CS5 for a while now as the company I work for works very closely with Adobe. The apps that come out of CS5 DO require XCode as you still need to sign them through apples system.

    They don’t directly run native and actually sit on top of what can only be called a native api flash player.

  106. Josef

    April 10, 2010 at 12:37 pm / 

    Peter:
    You are completely wrong informed about what the Flash CS5 -> iPhone transform will be. Adobe is building their ipa-files the same way as Unity is doing , except they don’t do it on OSX and thus without the need for Xcode. It’s all native iPhone/ARM code coming out of the packages – this is the reason apple doess not allow straight ARM assembly coding with this new restrictions – because you can do that without xcode too. Sure Adobe would have some sort of flash runtime inside the code, but thats the same exact case with unity too: they have their mono modules and their core engine code inside. That’s the reason every dev is on alert now – once again every iphone developer’s business depends on Apples/Jobs mercy – and that’s ridiculous !

  107. Peter D

    April 10, 2010 at 12:23 pm / 

    I think the TOS is aimed at stopping a flood of flash titles into the app store. It’s been known for a while that apple simply don’t want this to occur.

    The TOS basically requires that applications do not sit on top of a runtime interpreter. This wording was carefully crafted after Apple had analyzed how Adobe was creating it’s flash to iphone bridge. Effectively taking a binary swf and a native compiled flash player and dropping them onto the iphone as a native app. Behind the scenes many of us (simply from looking at the speed issues with even the most simple CS5 iphone apps) realised that this was probably what they were doing.

    I would be up in arms at Apple but, I’ve actually tried to load a flash page on my android phone and it’s beyond painful! I can’t imagine it being any better on an Apple device. All it does is ruin my mobile surfing experience. My phone simply wasn’t created to render multi-layered vector art!

  108. Jyaif

    April 10, 2010 at 12:12 pm / 

    Yes, but for once there is a valid technical justification.
    And you are free to do a JS to C# compiler if you want to.

  109. Byron

    April 10, 2010 at 11:27 am / 

    Daniel – of course Microsoft stooped that low, they require c# on some of their platforms.

  110. Ashkan

    April 10, 2010 at 11:09 am / 

    we want to start iphone game development today so what you do can change our future. hopefully the best thing will happen! we all are sure that you do everything you can.

  111. WilhelmR

    April 10, 2010 at 10:42 am / 

    I really can’t see the new TOS affecting you guys, not because the TOS limitations, but because the fight isn’t with your company, but Adobe.

    Yes, it’s a sad move from Apple, they obviously don’t Adobe making money on their own turf.

  112. Daniel

    April 10, 2010 at 6:45 am / 

    You know, it’s funny. I had a long conversation with our designer the other day about developing games on the iPhone and Mac (via Steam’s Mac support).

    We’re now not only not going to develop for iPhone, we’re not going to develop for Mac at all. Doing business with Apple is putting your head in the lion’s mouth… a lion that’s inclined to bite it off for no better reason than “because”.

    The one thing I can say is this: Microsoft never stooped this low.

  113. Adams Immersive

    April 10, 2010 at 6:06 am / 

    Thanks, David! What a time for a weekend. I don’t know if Apple is likely to respond before Monday so… everybody have a great weekend, and play some games!

  114. Viktor Larsson

    April 10, 2010 at 5:38 am / 

    Thanx, And keep up the good work with Unity3D!

  115. Aubrey Falconer

    April 10, 2010 at 3:36 am / 

    I am confident that nothing short of blatant, inexcusable evil on Apple’s part can ever hold Unity back from it’s position as the premier 3D iPhone development solution.

    Long live Unity, and the opposite to Apple if they attempt to thwart you!

    I couldn’t me more supportive of Apple – I first began my life as a programmer on a IIGS – but if the new amendment to their terms of service really does block Unity, they are no longer a corporation which I can proudly support.

  116. MrT3D

    April 10, 2010 at 3:24 am / 

    David, Thank you for informing us, your developers and fan base, on the murky status of Apple’s new ToS and Unity iPhone. Many of us developers are not pleased with Apple but have faith this will be resolved one way or another.

    Keep up the good work!

  117. Gaspedal

    April 10, 2010 at 3:20 am / 

    Thanks!!
    Unity is the first company that convinced me. Best support and gives good feeling to continue my work on iPhone. I’m sure that unity will be solve this issue.

  118. noocell

    April 10, 2010 at 3:02 am / 

    UT responsible behavior under difficult situations is what makes Unity3D a serious company to make business with.

  119. Jeff Luke

    April 10, 2010 at 2:56 am / 

    Thank you so much for this. It’s always nice to hear direct from the developers what is going on.

Comments are closed.