Limitations of Unity on iPhone

Hi all,

Apart from the obvious performance decrease due to iPhone hardware, what are the limitations of iPhone Unity?

i.e. What can unity do on other platforms that it can’t do on iPhone?

[EDIT Thanks to Joachim and others for these answers]
GRAPHICS

Particles?
Yes.

ASSET IMPORTING

True-Type font support?
yes
Mip-Maps?
yes

Also automatic PRVTC compression.

SHADERS

‘Shader emulation’ mentioned. What is possible?
Emulates the full set of shaders.

TERRAINS

Not supported?
Yup not supported and won’t be supported in the future because it is not sensible performance wise. The system is targeted at different specs.

PHYSICS

PhysX?
Rigid bodies?
Rag doll?
Cars?
Joints?
Same as 2.1

AUDIO VIDEO

Audio - Ogg Vorbis? (other formats?)
Audio yes, but uncompressed right now. We are planning to add support for some of the natively supported formats on the iPhone and integrating it with the automatic conversion pipeline

Pitch/dopler?
yes

Realtime shadows?
You can use blob shadows or nicely baked projected shadows very easily.

Lightmaps?
yes

Cookies?
yes. But it’s probably not a good idea performance wise. Better to just use static lighting.

Lens Flare?
Yes

GUI
yes

MOUSE EVENTS

MouseDown, MouseUp
Yes
MouseEnter, MouseOut
No. finger can’t leave screen, mouse can.

Regards,
Peter

No shaders (will never change)
No keyboard / mouse (will never change)
No terrain (mentioned that a barebone terrain might come at some point. but remember that the iphone can only handle 2 textures at a time per polygon, not 8 like desktop cards)
No foliage (you have a budget of 7000 polys and less and a low end cpu. handling foliage would cost you that budget)

etc

At best you check out the iPhone SDK and toy with it to see what you can and can not get and then start using unity.
because if you don’t have an idea on the hardware you are using, you likely won’t have much of joy using unity due to massive missassumptions

Thanks Dreamora,

I realise that there are massive limitations on the iPhone. We are mobile game developers, and have also started iPhone development (our first game is releasing at the end of the month).

I am currently looking at 3D options. At the moment my alternative to Unity is to write what we need from scratch.

My next step is to do some testing on the device :slight_smile:

I am new to Unity but it does look incredible. I’m curious about the differences in Unity for the desktop vs. Unity for the iPhone. Apart from the obvious stuff like “the 3D graphics are less capable so you have less textures, polys, etc.” I’m looking for info. about major features.

For example, is physical simulation included? Multiplayer networking?

This should help:

And yes, physics works on the iPhone. There is just the obvious limitation that the iPhone is going to handle a lot less physical interaction. But I’ve been surprised at how much it can handle, and I’m sure that’s owing to Unity’s/PhysX’s optimizations.

Hmm, sort of! I see this:

What specifically is in that majority of features? I’m just making sure I’m putting my money in the right place before I buy both an indie and iphone basic license.

Oh! Excellent. Thanks for the information.

What about multiplayer networking? Can anyone get me up to date on that?

That’s addressed on the page I linked to. Networking is only in iPhone advanced.

Sorry I’d I am being thick here but I guess you are referring to the “.NET sockets”?

Is there not some multiplayer networking infrastructure in Unity?

Raw sockets for “backend” access is not what I mean. Thanks

Yes, a feature matrix would be great!
This should be what is possible - even if it is a massive performance hit

GRAPHICS
Particles?

ASSET IMPORTING
True-Type font support?
Mip-Maps?

SHADERS
‘Shader emulation’ mentioned. What is possible?

TERRAINS
Not supported?

NETWORKING
Realtime?
WWW?
Sockets?

PHYSICS
PhysX?
Rigid bodies?
Rag doll?
Cars?
Joints?

AUDIO VIDEO
Audio - Ogg Vorbis? (other formats?)
Pitch/dopler?

SCRIPTING
Converted to ASM for 20-40x speed increase over VM

SHADOW AND LIGHT
Realtime shadows?
Lightmaps?
Cookies?
Lens Flare?

Anything else?

Yes, but I don’t think the multiplayer functionality exists in the Basic version, only Advanced. I could be wrong though.

The standard unity networking does not exist at all on the iphone right now.
The WWW class does and sockets do.

As for shaders: you can use TnL functionality. No pixel or vertex shader, so no realtime blending over regular “alpha blending” “add blending” “multiply blending”

Wow, that’s too bad. But it’d be worse if it wasn’t ever going to be released for the iPhone version. What are the plans for this? Is there a “here is what is coming to the iPhone version” list somewhere?

there are things mentioned by the different members of the dev team. you will have to read through the iphone dev board and look for stuff from huggy and joachim

How about bump mapping? I read this was possible with OpenGL ES - does unity iPhone support this (yet)?

@dreamora - thanks! Will read back for these two users.

Doesn’t bump mapping require per pixel shaders? If so, then its not possible on the iPhone.

Unity iPhone supports the dot3 combiner extension. Unity exposes the full set of graphics operations you can do on the iPhone through shaderlab and the combiner syntax.
This allows you to do object space bumpmapping. So yes it works, but in practice the hardware is very slow at doing it and it’s probably better to use a high quality lightmap than a bumpmap.

Sockets are supported, but the builtin networking is not yet. We are planning to add support for it.

GRAPHICS

Particles?
Yes.

ASSET IMPORTING

True-Type font support?
yes
Mip-Maps?
yes

Also automatic PRVTC compression.

SHADERS

‘Shader emulation’ mentioned. What is possible?
Emulates the full set of shaders.

TERRAINS

Not supported?
Yup not supported and won’t be supported in the future because it is not sensible performance wise. The system is targeted at different specs.

PHYSICS

PhysX?
Rigid bodies?
Rag doll?
Cars?
Joints?
Same as 2.1

AUDIO VIDEO

Audio - Ogg Vorbis? (other formats?)
Audio yes, but uncompressed right now. We are planning to add support for some of the natively supported formats on the iPhone and integrating it with the automatic conversion pipeline

Pitch/dopler?
yes

Realtime shadows?
You can use blob shadows or nicely baked projected shadows very easily.

Lightmaps?
yes

Cookies?
yes. But it’s probably not a good idea performance wise. Better to just use static lighting.

Lens Flare?
Yes.

Fantastic. Thanks heaps for the comprehensive reply!

It seems like GUI is not implemented on the iPhone … or am I doing something wrong?

GUI works perfectly fine. Except for keyboard input, everything works.

Thanks for the iPhone specs Joachim. This helps a bunch.

Josh