Search Unity

I wanted to take a moment and talk a bit about how we see mobile platforms here at Unity.

Any talk about mobile will start with the iPhone – it’s the device that really showed even disbelievers like me that you do want a general-purpose computer-like device in your pocket. The iPhone has been great for us – we got in on it early and let our users publish to it – adding “quite a few” users in the process. We’ve now shipped 6 versions and over 500 Unity appstore games have been launched. Pretty much whenever anyone does a list of top-something-or-other on iPhone games, you can spot a couple of Unity-powered games.

What games are people playing on the iPhone? From what I’ve heard based on data from ingame ad networks, an interesting trend is surfacing: iPhones are typically used for play sessions of around one hour – mainly in the evenings. If iPhones are really giving traditional consoles a fight in their own turf, this means that mobile devices have a huge future in the gaming space as well.
So how will all this play out? I expect that over the next few years we’ll see a bunch of mobile platforms appear. Some of these will stay and quite a few more will die – in the end, I wouldn’t be surprised if we ended up with iPhone, Android and a third player. Obviously, we want our customers to be able to deploy their games to as many platforms as possible – this means that we could be adding support for some that will possibly go away in the end – that’s ok. While platform fragmentation is annoying to us, the ease of targetting multiple platforms is something we’ve always held close to our heart. Maybe we’ll suffer a bit when porting, but at least it’s only us and not all the people that just want to get creative. It’s our unofficial slogan: We suffer, so you don’t have to.

Some of you have probably seen the announcement that we’re going to support NVidia’s Tegra 2 chipset. This is the first of various things we’re ready to announce and also says something about how we see the world: there’s chipsets and OSes (and then there’s the physical devices). We work on supporting a chipset (like SGX/ARM for iPhone) and we work on supporting an OS (Windows, MacOSX, iPhoneOSX). Behind the huge range of mobile devices mentioned above, there’s a somewhat smaller list of stacks: Broadcom, Qualcomm, Apple, NVidia Tegra – with an OS on top: iPhoneOSX, Windows CE, Linux, Android, etc. those are the ones that are real work for us to support – but once we have some more of these, adding new devices shouldn’t be that hard.

And then there’s the Apple tablet (sure, there’s others – but who really cares?). I expect it to be OSX-based, probably some SGX/ARM chipset – while I know as little as anyone else, I’m basically thinking of an oversized & clocked iPhone 3GS. Supporting it will be some pain, but nothing major (these things are hard to say – half the time on the original iPhone port was spent on one single issue).

Either way, I think gaming on mobile platforms are going to be huge, and I think we’re small and nimble enough to be among the very first with support for many of these platforms. If any of you are going to GDC, I’d love to meet up and chat about these things – drop by our booth (or failing that, there’s a wonderful comment thingy below this post).

21 replies on “Unity and Mobile”

You are in a dream world, Jeremy. With regard to games, Mac and Linux are in the same boat. Mac is a wasteland for games, just like Linux, but that doesn’t mean that they have zero potential to ever compete. It is dangerous to speak in terms like, “the facts stand that..” Facts (which I will go out on a limb and guess you have never personally researched) change with time. There was a time when OpenGL was “better” than Direct3D for everything, so what makes you think it couldn’t be like that again, or that a third party would never form to enter the competition.

Your statement about being “upset to see Unity support Linux” is just retarded. I will have to call you out on trollism, here.. because it makes no sense to complain about such a thing, when it clearly doesn’t affect you. You’re being incendiary for the sake of drawing flame. I think phone gaming is a waste of time, but I think it’s best to offer as much compatibility as possible, not to be political and fanboyish about it.. hopefully no one that matters thinks like your dumb ass.

So, now that the Apple tablet has been announced (the iPad), do you still think adding Unity iPhone support for it will be painful? I’d like to know if there is any hope of getting support for it before the March launch.

maintaining a headless server even without input and rendering and sounds and other features can lead to many problems and slow down the development and adding features. if you really want that you can create your own back end in mono. you can use physx too. it’s not as easy as a headless server for linux but is the solution that tiger woods and maybe fusion fall used. you don’t need to host normal games. just build a masterserver for linux and let users host their games.

The facts stand that Linux doesn’t generate profit for a games developer like Windows or Mac. I would be upset to see Unity support Linux, Linux is not a viable gaming platform and to put any effort into it would be wasted.

It’s very easy to find stats among indie games comparing what platforms generate revenue. Linux doesn’t even rank compared to Windows and then you have the Mac way out in front. I’m ignoring the iPhone since I have no experience in that market yet ;-)


As for Linux support – just pick two flavors like Ubuntu and Fedora, that will be enough. I even dont care if it has a webplayer on Linux, I do care about a headless linux server for Unity, so I can host games on linux without paying high windows license cost, not even talking about OS stability…

the last question was a joke more than a question.
but now a real question.
there are engines that they support linux. to name a few i can saw shiva3d and unigine. how do they handle this? can they support many distributions?
i think commercially linux support is not important. even mac support is not as much important as a good engine on windows. many people prefer more powerful engines that only work on windows. some other engines has windows only features but unity don’t have. i think you should add it. for example you can add support of many video formats by using windowsmedia player COM objects. for webplayers it’s not logical but for the desktop it’s a good choice.

“Linux platforms have only open, standard, media APIs…”

Should read:
“Linux platforms have only two open, standard, media APIs…”

(Any danger of an “edit” button?)

@Rogerio Lima:

The Kindle uses an “e-Ink” display, which has a very slow refresh rate. Its design priority was for a battery that lasts for weeks, not hours, so a fast CPU and graphics processor combination isn’t included. At best, a “Unity Kinde” build would only support monochrome games with little or no animation to speak of. (Perhaps a Soduku or crossword puzzle game might be worthwhile.)

@Tom Higgins:
How about a plugin system for platform support (and other extensions)? Want support for Platform X? Buy the Platform X plugin! (Etc.) Granted, the other stuff you need—e.g., XCode and OS X for iPhone development—complicates matters somewhat, but architecturally, it definitely makes more sense to make it easier to extend Unity’s core feature set.

Yes. Linux’s very openness is also its primary weakness. It’s design by committee at both its best and its worst.

Microsoft’s ownership of Windows means there is usually a single, coherent, fairly consistent vision behind their design decisions. Their creation of the “DirectX” suite of APIs is an excellent example of this: prior to DirectX’s appearance, practically nobody released games for Windows, preferring to target MS-DOS instead.

Linux platforms have only open, standard, media APIs for developers: OpenGL (graphics) and OpenAL (audio). Support for these is variable at best across all manufacturers, but there are no consistent standards for interfacing with joysticks and other peripherals, or dealing with networking. (SDL isn’t really anywhere close.)

Couple that with the Linux philosophy of “choice”, regardless of whether it’s a *meaningful* choice, and you’re also faced with having to document how to install and support your application on multiple environments (KDE, Gnome, OpenSTEP, etc.) and the various shells—bash, csh, and so on. And you have to maintain that support and documentation throughout the lifetime of your application, over multiple versions.

This is why the big players in the Linux market treat support as a primary revenue stream, A natural corollary of which is that there’s less financial incentive to make your software easy to use.

The only time Linux plays nice with games is when a single entity takes ownership and control of the complete process, hence you’re more likely to see support for Linux-derived platforms like Android.

@Rogerio: I’m not up to date, but all I know is that Amazon announced Kindle development kit. But for example, does it even have a GPU? I know it has ARM CPU, but that’s all I know. Without some chip that can render more than text and images on screen, it’s kinda hard to make 3D games…

Support for Amanzon’s Kindle would be asking for too much? It seems to me like a promising distribution platform in the future.

is windows in compatibility issues like linux? really!?
it’s not as good as OSX but hey it’s not like linux!

@Melvin: this blog post wasn’t about committing to any platforms in particular so much as painting broad strokes. So stayed tuned for more details about future platforms, Android or otherwise.

@Lars: merging the apps into one and taking a step back to look at our licensing model as a whole (so it makes sense going forward) are key agenda items for us as well.

@foyleman: Nothing to commit to around E3 just yet, it’s not in our wheelhouse of conferences to attend as we prefer more developer-centric events, but only time will tell as we’re still mapping out the full 2010 conference plan.

I’m really excited about the potential for new targets from Unity. It’ll be interesting how we’ll cope with different capabilities, especially when we don’t have support for most of the iPhone services, but I’m sure Unity have a solid plan for supporting other mobile platforms.

Bring on the targets! The more we can build for the better for us!
There’s still some suffering involved, but I’m oh so very glad that you’re taking the bigger share! ;)

It’s not entirely clear from the article but are you going to support Android in the near future? I’m pretty much assuming you will considering that you predict that Android will be in the top 3 mobile platforms, it only makes sense. It shouldn’t involve porting everything over to Java since there is an Android NDK that allows you to compile C/C++ code – the language unity is written in. Although, from what I understand, is that the NDK compiles code specific to a particular mobile CPU which means that you would need to recompile/export your game for each Android device. Could this be the single issue that takes up half your time on the Android platform? Anyways, despite all the difficulties I hope you do tackle the Android… your unofficial slogan is a little sadomasochistic in nature ;)

Please make sure that unity and unity iphone merge into on program before doing any other ports. this is my main issue with unity. two versions of the software.

I don’t mind having 20 target platforms as long as the software is just one application.
Anyway keep up the good work! Looking forward to the next versions of unity and support for mobile is great!

If you’re porting to Android, would there be any chance of a generic Java client so that Linux would have a working Unity client?

Also, what are the main difficulties encountered in, say, a port to Ubuntu Linux?

Comments are closed.