27

6

I appears that Unity3d is banned explicitly by the new iPhone OS4 license. See:

3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).

Can Unity3d confirm this? It's a sad day.

flag
This is a bit of an official Flash reaction! They sound angry ... theflashblog.com/?p=1888 – alexnode Apr 9 at 17:56
1 
Likely relevant to your interests, on MonoTouch: lists.ximian.com/pipermail/monotouch/2010-April/… – Ricardo Apr 11 at 9:23

12 Answers

19

We just heard about the iPhone OS4.0 and the new Terms-Of-Service. While we believe we are fully compliant with these we are right now doing all we can to get this verified by Apple. As soon as we know precisely, we will of course share that info with everybody. Please hang tight while we get this sussed out.

Update: here is our blogpost with our view on the situation so far:

link|flag
11

Here's an official statement regarding this question by our CEO David.

link|flag
4

we believe we are fully compliant with these

I dearly hope so...but on what basis are you making this judgement?

Applications must be originally written in Objective-C, C, C++, or JavaScript

Seems depressingly clear.

link|flag
This is a legal contract, and you are not a lawyer. "Application" in this context is defined in Subsection "3.3" as "Any Application developed using this Apple Software". In that context, "Application" and "Apple Software" is defined (I think) in the definitions at the beginning of the LA. Not to mention that in this case, "originally", "developed", etc. are all words defined by legal precedence. – Andrey Apr 9 at 19:09
(PS - IANAL either :-P) – Andrey Apr 9 at 19:09
4

Guys don't worry. Unity compiles all the code down through Objective-C or straight C/C++ before it gets deployed, so even though you write your game in C#, the code is still compiled as Apple-approved C code. ;) This won't present any problems at all, and you shouldn't worry.

If Apple puts up a fight about this, it'll be bull* * * *, but I'm not worrying at all.

link|flag
We all know that, and that is what apple is banning right now. – Seth Illgard Apr 9 at 14:34
So yeah, we have something to worry about. – Seth Illgard Apr 9 at 14:35
Well, like I said, if they ban Unity, it'll be crap. I don't think Unity iPhone will stop existing just because Apple are jerks. – SpikeX Apr 10 at 3:02
2

If this does mean that Unity can no longer be used to develop for the iPhone, I hope the Unity Team continues to make improvements for other platforms. Even without iPhone/iPad, Unity remains by FAR the fastest and easiest way to develop games for PC/Mac (and hopefully soon all consoles!)

link|flag
1 
I think this would motivate me to abandon game development for all Apple platforms, and release my games for Windows and Droid phones only. I also think the Unity3D company should publicly encourage people to jailbreak their iPhones and use the Cydia store. – Unitard Apr 9 at 1:46
Haha, I wouldn't go that far - but it is very ridiculous if they end up preventing use of a great product (Unity) just because of their own selfish war with Adobe. – dhendrix Apr 9 at 2:12
I agree. That's just ridiculous... Why must we be involved in the Adobe/Apple war? – Elliot Bonneville Apr 9 at 16:09
1 
Ironically, until today I didn't give a hoot about the Adobe/Apple war, but now I feel that I must support Adobe. Why? When I submit my app I want the acceptance process to be transparent. If an almost identical game from Adobe could be arbitrarily refused, that just means that my own game could get refused and then the burden will be on me to convince Apple to reconsider. So I want Apple to remove section 3.3.1 completely, and not just do what I think they will, which is to play semantic games to justify allowing Unity while rejecting Adobe. – Bampf Apr 9 at 23:56
2

This topic should be front and center of the Unity iPhone page.

To quote Hank Williams at http://whydoeseverythingsuck.com/2010/04/steve-jobs-has-just-gone-mad.html :

The key is where they say "Applications must be originally written in Objective-C, C, C++."

Take a pause and think about what that "originally" really means.

Developers are not free to use any tools to help them. If there is some tool that converts some Pascal or, Ruby, or Java into Objective-C it is out of bounds, because then the code is not "originally" written in C.

That's pretty clear, people. Without further clarification, Unity is out.

I was just about to resume working on my Unity iPhone app, and will now postpone that work until this is resolved one way or another.

link|flag
But wait, unity is actually C, when I write my apps for Unity I use C or/and Javascript; so it is in! so it is originally written in C as far as I see. I believe this is meant to be just for Adobe and not for Unity. As I previously said, Unity has some great games which has been posted by apple on their Best Games of 2008/9! so they have been on the Best Games chosen by apple! – Javier Cabrera Apr 9 at 16:42
If they are still accepting unity created apps in the store and you can finish your game why would you pass up the opportunity to make some sales for your hard work. BTW XCODE converts other languages into Objective-C it's in the menu items. There are also a ton of tools to help developers - take accessorizer for instance - it's one of the greatest tools out there Steve jobs loves it himself. I don't think a blog post titled Steve Jobs Has Just Gone Mad has much credibility. – touchgamedev May 19 at 15:25
2

I've written up 4 reasons to be optimistic on my blog: http://www.mindthecube.com/blog/2010/04/unity-iphone-versus-apples-developer-licensing-terms

Short summary: The language as written is very broad and impacts too many developers & publishers for Apple's own good. It is also difficult to enforce for games in particular. I firmly believe Apple will clarify it with a fairly narrow interpretation, or even revise it, but it might take a while to get the answer we want. In the meantime, take heart that: 1) Unity games are highly portable, and 2) Unity Technologies is very smart and will be doing their utmost to have a version of Unity iPhone that satisfies Apple's requirements.

link|flag
seriously optimistic???? sadly thats all you can be. – asdsad Apr 16 at 23:23
It's not blind optimism- I gave specific reasons. (I also said that people should work on a plan B. Optimistic doesn't mean imprudent, and this could go either way.) – Bampf Apr 18 at 2:26
2

El Jobso Replies (via Engadget)

He doesn't say much... but it's something I suppose. Should we be worried?

link|flag
Thanks for the downvote. Sorry for trying to share. ffs. – MooseTrap Apr 11 at 8:37
I agree, it's not a wrong answer, so +1. – Cyclops Apr 11 at 13:00
And to quote from the remake of The Fly: "be afraid... be very afrais." Here's another discouraging link: devwhy.com/blog/2010/4/12/…, in which he says, "I can't imagine Apple is happy about environments like MonoTouch, Unity3D, PhoneGap, Appcelerator, or Corona, but I am doubtful they would have changed the license in this way just to stop developers using those environments... Apple probably doesn't want these environments, they just weren't motivated to stop them until it was clear Adobe was going to pursue Flash apps on the iPhone despite Apple's - – Cyclops Apr 12 at 20:31
wishes. They are not collateral damage, they are opportunistic targets that Apple decided to kill once they decided they would have to take action to stop Flash as an iPhone runtime environment anyway." – Cyclops Apr 12 at 20:31
1

From TUAW (The Unofficial Apple Blog) http://www.tuaw.com/2010/04/08/iphone-os-4-0-dev-agreement-blocks-using-flash-or-unity-as-ides/

We've heard directly from Unity Technologies themselves, and the company's CEO, David Helgason, has been in contact with Apple over the matter. Helgason says that so far Unity has "no indication from Apple that things are going to change." This is consistent with John Gruber's viewpoint on the new iPhone OS 4.0 dev agreement. Gruber originally thought that Unity3D would be a prime candidate for banning under the new rules, but given that Unity3D is, in Gruber's words, "a pre-processor than a cross-compiler," it's nowhere near as certain that Unity will fall on what Gruber calls "the wrong side of the line" per the new dev agreement.

That explains the problem pretty much. Yes at first everyone thought Unity was out, but the last time the same happened and Unity was not even near to be left out. This is the same, Unity Wins.

And I'm confident, as a Unity iPhone developer and Customer, they must be working right now to avoid uncle Steve's strange policy changes in the future. It will happen again for sure, because they will change their dev agreement one more time this year, or two maybe, like they always do; but so far, this shows us there is no way apple is going to left Unity out.

I will say it one more time: apple itself have chosen some great Unity based games as Best of 2009/8. They know we as a community of developers have a great value to them, so chill out ;)

link|flag
1

There seems to be a minor update to this brouhaha

http://www.appleoutsider.com/2010/06/10/hello-lua/

Specifically this old language in 3.3.2:

No interpreted code may be downloaded or used in an Application except for code that is interpreted and run by Apple’s Documented APIs and built-in interpreter(s).

Is now this:

Unless otherwise approved by Apple in writing, no interpreted code may be downloaded or used in an Application except for code that is interpreted and run by Apple’s Documented APIs and built-in interpreter(s). Notwithstanding the foregoing, with Apple’s prior written consent, an Application may use embedded interpreted code in a limited way if such use is solely for providing minor features or functionality that are consistent with the intended and advertised purpose of the Application.

link|flag
Great - so all UT has to do, is re-write Unity in Lua, and we're good to go... :) – Cyclops Jun 11 at 14:18
0

I would not worry and here is the reason why:

Steve Job's loves Unity and the Games that have made his platform THE platform. That's the easy version.

The real reason why I would not worry is as follows:

FLASH specifically CS5 which creates an application that can run on the iPhone does so using an Adobe API to create the file and never touches xCode. Unity compiles in xCode.

Even if it is c# it compiles out into objective-c and it would not be hard for Unity to make a converter if needed.

Steve Jobs shows off Tapulous in the OS4 Announcement. This was written in LUA. He is not into people profiting off of his work without adopting the platform and rightfully so. Adobe is trying to bypass Apple and Steve also does not want a bunch of crappy web applications - he wants creative imaginative people and companies that want to work with him.

Unity will be safe no worries. If I am right you can buy me a beer. If I am wrong I will buy you a beer.

link|flag
if you have money left to buy beer, or rather you have too much money to waste on free beer – asdsad Apr 16 at 23:24
0

To answer based on my knowledge of the mobile industry...

Apple's purpose is to try to make apps developed for iPhone ONLY be available on iPhone, thereby differentiating their product. That is the entire objective of the rule.

So Apple will allow Unity3D because it's currently in their interests.

Apple will only use this rule where they feel threatened and discourage cross-platform innovations like Unity3D ever starting (would UT risk starting it today, given the effort?).

So currently, Apple would not be too bothered by Unity3D.

But once Android and console development is possible with Unity3D, it'll become against Apple's interests.

Okay, maybe more of a prediction than an Answer. Plus I want that beer.

link|flag
Considering that you can already make Unity games on Mac, PC, web, and Wii, aside from iPhone and iPad, I don't think this really makes sense. – Eric5h5 May 1 at 22:20
Desktops and consoles are not iPhone competitors, so they're irrelevant for Apple. This is about Apple having the app strangehold for their platform - the thing they suffered all these years from under the shadow of Windows on the desktop. MS used similar tactics early on to woo apps (when they didn't compete with MS apps and so need to be exterminated). – Warwick Allison May 10 at 6:21
Agreed with both of the above comments - besides if a kickbutt game is out there somewhere else say the PC why would Steve jobs not want it on his device too if everyone wants it - especially for on the go. – touchgamedev May 19 at 15:18

Your Answer

Get an OpenID
or

Not the answer you're looking for? Browse other questions tagged or ask your own question.