Confused: Unity versus Flash

Hi

With the latest great news that Apple is finally giving the thumbs up to Unity AND Flash Apps, I find myself at a crossroads of confusion, so I’m hoping the wonderful Unity community might be able to help me out. And a special mention going out to Bob at iTween and SpriteManager 2… two very awesome Unity tools (and support) that have contributed so much to my app development.

For the past 3 months I’ve been developing night after night a 2D App for kids. It’s been the most rewarding time, learning all there is about Unity, and being helped along by these forums, without which I’d still be sitting at the first scene wondering how the hell do I turn a GUITexure into a button.

However, I will admit that I always wanted to do this App in Flash. 1. Because my App is 2D and I thought it more appropriate, but 2. Because I’ve been using Flash for years and am more familiar with it.

Also, a Flash 2D game I would think would have a much smaller footprint than a Unity3D driven 2D game.

Also, also, with Flash I can build to iPhone AND Android, PC etc, without having to purchase another program (i.e. Unity for Android)…

I’ve put in so much work to the App so far in Unity, and there would be some learning curve still with Flash as I haven’t used Air before, not to mention the re-writing of code…

I really don’t know what to do!! What would you do in my situation? All thoughts and opinions, or experiences of your own, greatly appreciated :slight_smile:

Flash is bloated, slow, outdated, and buggy. Learn obj.c and use cocos2d so that you can get physics and avoid having to learn OpenGL

Well, I actually did a 2d platfomrer for mobile devices with Flash 4 years ago, so I would imagine you can do some nice things with it on modern hardware, but I haven’t tried it yet. But off course performance will be better with cocos2d, or Unity.
But the workflow for 2d in Unity is less than ideal at the moment. I’ve done a few 2d games and it’s definitely doable, just not as quick (I think I could do my games about twice as fast in Flash, but that’s moslty due to the lack of a good C# ide on mac).
Still, is it 100% sure they’re going to allow Flash? I know they’re less strict now, but as someone mentioned, Flash is still bypassing xcode, which may not be allowed.
Another option might be cocosnet, which is cocos2d for monotouch. Not sure how useable it is at this point though.
Personally I am sticking to unity at the moment. I might learn objc and go cocos2d for my 2d stuff in the future, but right now I don’t have the time for that.

before going with cocos2dnet I would likely recommend to check out xnaTouch for the trivial reason that this experience allows you to get it to Windows Phone 7 so much faster.

Also there is a good chance that the android incarnation of monotouch will support it too (not 100% sure on the states there though).

Flash on the iphone is known to be hell slow. All CS5 beta applications run like crap compared to anything even basic “noob-gl code” and Adobe has not invested any time in driving it really further. Also they are hot air mouths as we know since Android 2.2 benchmark that have shown that the browser goes from fast to slugish, stuttering and crashy by just adding flash 10.1 and the vast majority of pages are totally unusable as the interaction with flash etc works far from optimal (and thats the native browser plugin, not some cross process air player)
And yes, even when flash is technically potentially allowed, apple can void any of your dev contracts for using it cause you broke your contract you agreed upon for iphone development due to bypassing osx 10.6 + xcode. Apple just has not done it so far.

Also you must never forget the most important factor: using flash = you can’t do xcode debugging (not even remotely to the degree you can with unity) and flash debugging is … well you know I guess :wink:

Cool that’s something I will look into.

I just use trace (Flash’s Debug.Log) all the time. Works for me :slight_smile:

Thanks everyone this is really helpful and I’ll look into xnaTouch. I have looked briefly at cocos, however, as a non-programmer type, I found it a lot easier to get into Unity… mostly because of interface and these forums.

I admit, I haven’t spent as much time with cocos as I should’ve, and maybe in the future when/if I have more time I will.

Regarding Flash, performance is a major factor for me, so I think I’ll stick it out and at least finish this app with Unity. Next time, I’ll reinvestigate this further and see if Adobe have made any substantial improvements.

And as far as I’m aware, this latest agreement from Apple confirms that it’s okay to use Flash… that’s today anyway. **

Cheers

They don’t disallow flash anymore
but bypassing xcode and osx is legally breaking your dev contract with apple and if they are funny they can just employ checks to look for flash and void your $99 / $299 / year contract on approval request

Flash doesn’t bypass Xcode though?

it does, to 100%
it builds the ipa you upload, it does not even require osx
At least unless something changed since beta when they brought the stuff to public

though now thats much funnier cause that means that as flashy, you must use the app uploader from apple on osx to get anywhere (as apple has removed the file upload on itunes connect) good luck and hf ^^