I just wanted to say that I absolutely love Unity but not I am not yet convinced that the iPhone version is capable of any AAA caliber game at this point. I think that it was released too early and it is missing a lot of what makes the Unity engine so good for OSX.
Examples:
Touch Controls are there but the interface to use them isn’t prebuilt
Accelerometer Controls are there, again missing the interface to calibrate, recenter, offset, etc.
Yes I can and am programming all of this all myself but “Fire” and OnMouseDown already just work in Unity. Thats what makes it an engine.
GUI.xxx will kill your framerate and causes a a scene loading delay of at least 4-5 seconds
On the other hand we have GUITexture + Text, they are very time consuming to use
Scene Loading should be streamable
I’m not asking for Unreal 3 here just basic progress bars, etc.
Faster OpenGL ES performance
Default Image before the Engine/Progress Bar while the Engine Loads
My biggest issue though is that the development environment should emulate the target platform at least to some degree. If a texture is using DXT compression, the game window in Unity should be solid black because that is exactly what I will see when it crashes my iPhone and I have to reboot it. The development environment again shouldn’t be able to run 50+ draw calls at 60fps. Doing the build process take quite a while so the engine really needs to give us a better idea of what to expect. Right now they are two different worlds.
Functional maybe, but clearly less than ideal. What makes me more mad is that Unity has been working on a PC version… Yeah, PC Gaming is the next big thing ; )
Help us help Unity. Give us better tools and we can make better iPhone games. Please. I’m on my knees begging at this point.
Any idea when an update comes out?
And no one here should think I am bashing Unity iPhone. It just is lacking right now and it doesn’t live up the the high standard of using Unity on the desktop.
I think the things you describe would be welcome additions to unity iPhone’s feature set. That said, I don’t think any of these problems are actually prohibiting so-called ‘triple A’ game development. The only thing holding anyone back is their own ability - what you’re requesting here are merely conveniences.
As for emulating the target platform… I don’t see the value there. Not only are there differences between the different generations of iPhone and iPod touch, but there’s a number of factors such as how much cpu the iPhone’s OS is hogging that can’t be accurately modeled by some sort of fps-cap in the editor. Seeing as how deployment to the actual device doesn’t take THAT long, and will always give a more accurate performance read than any simulation, what’s the point?
I agree that GUI.xxx is slow and almost useless in its current form. I would also add that the unity remote is pretty laggy, and makes tuning/testing in the editor pretty much out of the question if your game is remotely action-oriented.
And I don’t think you should be “mad” about the windows editor for Unity, as its not taking any resources away from the iPhone or Wii versions, which are (if I understand correctly) separate and parallel undertakings.
I mean, I agree that Unity iPhone feels a lot less complete and polished than the desktop addition, but its also pretty new. If you honestly believe that you can’t make a quality game yet with unity iPhone, I have to strongly disagree. I’ve run into things I’ve had to work around a bit, but never a brick wall.
PirateNinjaAlliance - Yes they are conveniences. But I guess I expected them from Unity iPhone since they are in Unity desktop. WYSIWYG development is the key to spending your time making games not writing software.
potan - there is a fix for the memory leak in that thread
–
Does anyone know of a big AAA shop that uses Unity for iPhone. And I’m not asking about all of us indies who like to think we are AAA either : ) Haha
Flashbang uses it I think cuz I see them on the forums here. I thought Freeverse was too but I am learning towards being wrong. What about ngmoco, Gameloft, Adot AB, Illusions Lab, EA, THQ, etc.?
We’re working on another Unity iPhone update, it will come out some time after Unity 2.5 but there’s no public statement as to when 2.5 will ship, nor how long after that the next Unity iPhone release will ship. It’s in the oven, it’s coming, you just gotta hang in there.
I might as well drop some info here that I have learned about the iPhone hardware. Most of it has been said before but here goes.
Draw Calls are your Nemesis
Seriously, I have read it over and over but It did not make sense. I went and read everything I could about OpenGL Optimization, the PowerVR chip and it’s rendering pipeline. Off course its based on a unique concept that also ran on the Sega Dreamcast.
What I have learned specifically is that 1 draw call is really a set of roughly 4 calls through OpenGL into the PowerVR Chip. Vertices, Texture, T&L, Alpha Blending, etc. Thats the main bottleneck… feeding the hardware the data.
The process is much better for rendering a ton of opaque stuff that is all one mesh with a larger texture atlas than feeding a lot of simple geometry with small textures.
Texture Atlas + Compression = Good
When I was doing some initial testing I found that converting all of my textures from 512 to 256 actually rendered at the same exact frame rate. Keep in mind the size of each went from 170k to 47k, less than a third of the size. So, wtf?
Apparently the texture pipelines is completely weird as well. No options for a simple grayscale or black and white image. Only color and it hates anything that isn’t compressed. The compression looks great on busy texture like grass or a photo but it looks like ass on anything smooth. Want a nice big smooth gradient, good luck. It will band the colors and drop all kinds of ugly blotches everywhere. So I guess the answer is this… add your own noise before compression and put as many textures on a sheet as you possibly can.
Serious Speculation
I am still testing this but I am guessing that frame rates will be much higher with a game that only uses 4 1024 textures (grid of 16) than one that uses 64 128 textures. This is completely the opposite of any environment that I have used in the past. Not that I have much experience.
Any feedback would be helpful. I am certainly no expert. In fact, I know just enough to be dangerous : )
There are dozens of games released already with 1.0 and 1.0.1. I don’t see the point in threads like this. Just dithering. Either wait for the next release or write your game to work around the edit: defects (real or perceived ).
I agree with the first poster with the fact that it would be nice to have a bit more high level tools available in the unity engine.
As a non programmer I find it very hard to get my head around unity at the moment.
I bought unity after looking at a video presentation where it appeared that everything is as simple as clicking and dragging.
in reality unity is very hard to work with if you have limited programming skills.
Of course I knew it would not be as simple as it appeared to be, but I would love unity to get more features at a higher level, let’s call it drag and drop level.
And please release more sample code, I can’t always imagine how things work without seeing examples.
But I’m not going to give up on it, I have to learn more programming and will make maximum effort to get to greater understanding of unity.
My support goes to unity and I love them for making the tools as great as they can be.