Unity Community

Register or Sign In:

+ Reply to Thread
Results 1 to 12 of 12

  1. Posts
    26

    Before you buy Android for Unity, ARMv6 and what you should know.

    Before you buy Android for Unity, ARMv6 and what you should know.

    The purpose of this post is to inform potential Android developers of the issues they will face
    when developing from Unity for Android

    ARM architecture:
    About the processors phones use.
    http://en.wikipedia.org/wiki/ARM_architecture

    ARMv? and why is it important?
    Quite simply it is the Processor used in phones. It is important to note
    that the differences between ARMv6 and ARMv7 is effiency and the ability
    to run many things on your phone within an application. The difference is
    substantial, doubled, and tripled in some cases.

    Unity only publishes to ARMv7, and maybe ARMv6 with VFP (Vector Floating Point) phones.
    How can you find this information?

    It is listed here:
    http://unity3d.com/unity/system-requirements.html
    However it is NOT listed here:
    http://unity3d.com/unity/publishing/android

    How can we tell what phone is what?
    Possibly the quickest answer to this question is: 4G = ARMv7+

    You MIGHT be able to tell which phone is ARMv6 or v7 Here (Though I find it terribly confusing
    and several phones that have been out for 6+ months aren't on this list):
    http://en.wikipedia.org/wiki/ARM_arc...s_of_ARM_cores

    And you MIGHT be able to tell which phone is which here (Oddly enough thats at FireFox's Dev Site):
    https://wiki.mozilla.org/Mobile/Plat...m_Requirements

    What phones are currently the most accessable or most widly used by people in the market?
    That is a good question and a hard one to answer. There doesn't seem to be a really simple
    way to find out at the moment. Currently 01/11/2011 there are no less than 40 phones which
    have been sold in the last year and are currently sold that all have ARMv6. A handful of these
    have VFP. There are about 10 phones on the market, (some that have been available since October of 2010)
    that are ARMv7, and 4 tablets. These are the 'latest and greatest' units and won't fully be integrated
    into the market for another year at least.
    Other than trying before buying all 40 of the ARMv6 phones, telling which ones will work with Unity, the simplest
    answer is the ARMv7 phones.



    How long until those ARMv6 phones are no longer in the market bottle-necking our publishing?
    ARM is all the way up to ARM11 and there is talk already of a phone being released with ARM9.
    But our concern as developers is simply, how much of the market can we rely upon that our
    software will work?
    Typically it is better to develop for the largest common use consumer,
    not the latest and greatest consumer who has to have the newest thing on the market.


    In short, until those ARMv6 phones are pulled from availability to consumers, you have to project
    that 2 years from the day they stop offering the ARMv6 phones is when the market will
    start to balance more towards ARMv7 and above. This will take a while as alot of those phones that
    are ARMv6, are offered for free to consumers! It's simple really, a consumer is going to go
    after "Get a free smartphone" versus dropping 200+ dollars for the ARMv7 phone.

    How can we tell our consumer, or can we detect which phone they are using so we don't generate
    thousands of dis-satisfied potential customers?

    Unfortuntly at this time there doesn't seem to be a method via the Android market to detect if the
    phone is ARMv6 or 7 BEFORE they download your app. All you can really do is include it in your
    description, alter the pop-up that they will receive when they try to run your app;
    "Your Phone's hardware is incompatable, the app has been closed" (or something similar)
    and hope to point them elsewhere and apologize for wasting thier time!


    The wall I ran into with Unity
    (Also known as "Don't make the same mistake I made!!")

    It was in November that I made the decision to Purchase Unity and focus on Android development.
    I performed what I beleived was the best dilligence in making sure I knew
    every possible requirement for publishing to the Android.
    Short of finding the Android page on Unity
    http://unity3d.com/unity/publishing/android
    The Engine Pages
    http://unity3d.com/unity/engine/
    And all of the other pages linked when reading the website, I never encountered
    the page that says specifically, to look for ARMv7.
    http://unity3d.com/unity/system-requirements.html

    Also Unity's setting was still set to the "Universal (experimental) option so my test app
    'appeared' to be working just fine on any phone I tried.
    I had run several smaller apps built in Eclipse as well as published directly my test app
    to the emulator, again everything 'appeared' to be functioning just fine.

    When I went to try and troubleshoot why sound wasn't working on the development test phone
    was when I encountered the speed bump of ARMv6. After alot of google searches I finally
    found a link to the system-requirements page of Unity within a forum posting:
    http://forum.unity3d.com/threads/67883-Android-Sound

    In fact, if the sound had worked
    from the start, I would have never figured out the differences in ARM versions and why they would
    matter.

    As it happens, this was exactly 2 days after I was locked into keeping the phone that I received, the LG

    Optimus S, and 7 days after purchasing full licensing for Unity & Android.
    Talk about taking a punch to the face. Now I have a phone that is useless for my purposes
    for the next two years!

    So what's the deal?
    The deal is I really like Unity, I adore the heck out of it. It's not only affordable
    for artists and game designers, but it allows you to quickly and easily publish to multiple
    platforms. To be frank it makes all other game engine options look stupid. That being
    said it's a no brainer on sticking with Unity. Mind you this is coming from someone who
    first wrote in Basic on the Atari 2600 28 years ago.

    The problem is, publishing to Android won't really be solid for another year. Consumers get
    locked into 2 year contracts, in the same way I got locked in, and the most common will be
    the free phones and the cheaper (50$) for the next 2 years. Without a way to dumbdown your app, or modify

    the published one within Eclipse to work for ARMv6, that is potentially a GIANT chunk of current market

    share which will be LOST to a Unity>Android developer.
    It's kinda like saying "We've got the BEST breed of horse from the TOP Sires available, but we're
    going to knock its back two legs off just before it leaves the gate. Don't worry it will run just
    fine down the track."

    To be fair however, Unity is making a good choice as the effiency of ARMv7 and above far outshines
    the ineffiecncy of ARMv6, even with VFP. So the choice made here is to get the awesomeness of Unity

    working with less headache. Thumbs up on that one.

    How can we fix this?
    Unity:
    Unity's already taken a stand last October that they are focused On ARMv7.
    A standing list that is easily accessible, in fact right here on this very page:
    http://unity3d.com/unity/publishing/android
    of a few things;
    Stating ARMv7 only and linking to what ARMv7 is, its advantages (performs much much better, etc)
    A list or a link to an active list of phones that are ARMv7+ and compatable.
    A method to repackage your app via Eclipse or hooks that can be written by hand in the AndroidSDK for the

    following:
    Detect which ARM a consumer has during install (More on Android Market really)
    Dumbing down your APP for ARMv6 (Maybe we can strip it?)
    External linking to external scripts that will allow coding via the SDK before packaging by Unity. This

    sounds like madness but what the heck.
    Make Unity Sales Reps aware of this difference when a potential buyer calls. Several phone calls
    and not a single sales rep even knew what ARM was at all.

    Android Market:
    We need to be able to check if our app will work on thier phone. That's it. If not we shuffle them
    to an app that will work or apologize humbly and give them free smores.

    Android Developers:
    Really you would have to start from scratch and code your app from dirt to diamond and lose all of the

    wonderful engine use from Unity to get your app working on ARMv6. It is possible, there are tons of apps
    that work just fine on ARMv6 without VFP that have music, sound fx, and complex AI all running at the same
    time. This option is to not use Unity but create your own engine, in effect. (OUCH!)
    An example of this accomplishment would be Pocket Legends and thier SpaceTime Engine.
    http://www.spacetimestudios.com/content.php?5-Tech
    Runs just fine on ARMv6 phones.

    The Community:
    Create a standing list of phones that are ARMv6 and ARMv7. The wikipedia page is confusing at best and
    not up to date. Also finding a Firefox development website for such a list is kinda hinky.

    Find out which Android phones are used the most and keep track of it. This is an ongoing project
    and something I myself have to check daily to see if I can actually find anything of use.


    Conclusion

    Hopefully this posting will help guide folks better, prevent confusion, and help the android market grow
    better. Onward and upward!

    Where this is posted:
    ARMv6 Android Support
    (Yes Unity has already taken a stand on ARMv7+, but what the heck one can dream right?)
    http://feedback.unity3d.com/forums/1...ndroid-support

    Android Market ARM Detection
    http://www.google.com/support/forum/...68946087&hl=en

    Before you buy Android for Unity, ARMv6 and what you should know.
    @ Android Forums:
    http://androidforums.com/application...ml#post2124617


  2. Location
    Sheffield
    Posts
    80
    Thanks for all the info.


  3. Posts
    15
    Thanx a lot Argenex! You are quite right. If I knew all this before...


  4. Location
    stockholm, sweden
    Posts
    214
    Thanks for the info.
    Niklas Wörmann
    fingerfunk.se
    Stockholm
    Sweden


  5. Posts
    1,595
    Great analysis.

    True this looks dark but I must say I found A LOT of ARM7 phones and tablets being release already along these beginning 2011 months, I followed Engadget continuously on purpose and checked a lot of the stuff.

    So, what is written is true but I don't agree that the market will be so ARM6 saturated this year, my opinion is that ARM7 will instead explode this year, and for the end of 2011 we'll not see any ARM6 being sold anymore (or nearly).

    Of course, many people having a ARM6 phone will remain unreachable... that's the slice of market we'll not be able to reach until 2012 (if the world will not end!) but I think the Unity/Android/ARM7 market is large enough anyway to live on it... for now at least. I mean, before the Big Ones will start the aggression and the rest of the world will start uploading crapapps into it.

    Last but not least, Erique wrote (if I remember well) that Android Market is already filtering based on ARM architecture so we shouldn't worry about that: an ARM6 phone shouldn't see our game anyway and in fact I have some friends that didn't find an experimental app on the market using HTC Hero and another ARM6 mobile (can't remember the model now).


  6. Posts
    315
    heh, this explains the download difference between my iphone and android apps. even the free ones.

    I see postings constantly of how many more androids are sold than iphones lately, but they just don't correlate on the store.
    Iphone apps sell around 10x more than android. It just didn't make sense until I read this article.

    Is it really that impossible to allow for armv6? i know tons of people with an older phone that won't be updating for who knows.


  7. Posts
    12
    Thanks for this info. at first I thought oh no... but then I went to find out which processor my desire HD had... whooo haaa I did make the right choice after all. I was going to buy the older desire which wont work with unity.

    beside me feeling good about about my decision, I think this is a good decision by unity. Android phones have been doing ok on the sales side but now I think we are going to see a real boom in sales this year, a bit like china's economy. From what I have seen on android marketplace, I was shocked to se so much crap.

    It's time for us to bring out 3d apps/ games usin unity to compete with iphone standards.

    Now is a great time to take on the big boys


  8. Location
    Nearly nowhere, Columbus Ohio.
    Posts
    139
    there is a huge difference in the consumers when it comes to apps. Android users are less likely than iPhone users to download apps and significantly less likely to purchase apps. That's why angry birds is ad supported on android. Also lots of phones they count as android phones are locked up and not truly androids in the sense we think of.
    Last edited by bigdaddio; 02-13-2011 at 11:05 PM. Reason: Spelling
    twitter: @theBigDaddio
    Get off my lawn...


  9. Location
    Skövde, Sweden
    Posts
    160
    Quote Originally Posted by bigdaddio View Post
    there is a huge difference in the consumers when it comes to apps. Android users are less likely than iPhone users to download apps and significantly less likely to purchase apps. That's why angry birds is ad supported on android. Also lots of phones they count as android phones are locked up and not truly androids in the sense we think of.
    From my research i have done this is just partially true, yes they might not be quite as willing to pay for apps but the difference is just a few % and also those who do buy is prepared to pay more it seems. Also the Android market is growing faster than iOs so the Android market will have more users which most likely will make this difference obsolete.

    And also if Angry birds would had actually set their price to a more proper one, ie 1.99 - 2.99 it would most likely have generated more money, and it would had sold on Android aswell. Dont take what one game does as a fact for the entire market.
    Magnus Söderberg
    CEO - Triolith Entertainment


  10. Location
    Zürich, Switzerland
    Posts
    25,088
    Quote Originally Posted by Legion View Post
    From my research i have done this is just partially true, yes they might not be quite as willing to pay for apps but the difference is just a few % and also those who do buy is prepared to pay more it seems. Also the Android market is growing faster than iOs so the Android market will have more users which most likely will make this difference obsolete.
    But you ignore one fact: how large is that share per hardware type?
    Because t its also fragmenting worlds faster than iOS and Google does not seem to be interested to get this problem under control any time soon.
    iOS gives you 1 -2 new small devices and about 1 large device a year.

    Android gives you that per 2-3 months which is faster than the production cycle for larger games.
    These different platforms are not "same performance just different manufacturer", actually they do not even use the same rendering styles (tile based rendering on SGX vs standard desktop rendering approaches on tegra), which makes optimization very ugly and also means that you must buy significantly more hardware to ensure to really support them with good performance which thanks to the lack of "iTouch" counterparts that cost 200-300 bucks cost you a lot due to the $500++ per device. I know enough here that already moaned due to the 1 device per year on iOS, I doubt the will be all to happy if these devices on android cost twice as much and might need to be bought even more regularly due to the fragmentation spread and OS version spread.

    Additionally the "bottom half" (cheap half, the more sold half) of the devices base on hardware that could compete with iphone 3g-3gs but not with what you expect in 2011 and see on the competitors platforms and on the upper half of the android devices provide either ...

    Its a fast growing platform as whole, agreed. Yet many won't be able to target the whole platform because only big teams can afford the required hardware to target it. Just cause Unity runs on the hardware doesn't mean anything, half the Unity android games show that by running bare if fluent at all on 1st gen snapdragon hardware yet that was the upper half till last autumn, so on the bottom half of last autumn and before these games don't run at all anymore in a usable form


  11. Location
    Nearly nowhere, Columbus Ohio.
    Posts
    139
    I prefer to go with real market research, my observations are useless as I can only se a few people in my city, not everyone everywhere.

    iPhone App User Worth More Than An Android App User

    iPhone Users Still More Likely to Buy Apps than Android Users

    Android Soars, but iPhone Still Most Desired as Smartphones Grab 25% of U.S. Mobile Market

    Fruit Ninja Slices 50,000 Downloads in 2 Weeks on Android Market Place

    On top of that there are no Android Pods that I have seen, and very few Android Pads, yet. Every other teenager in the world seems to have an iPod touch. There are still more iOS devices than android devices that you can DL apps on.

    Nielsen: Android Users More Likely To Click In-App Ads

    This matters because the real money now in apps is advertising and in app sales.
    twitter: @theBigDaddio
    Get off my lawn...


  12. Location
    Munich, Germany
    Posts
    118
    The situation changed positively for Android in the last couple of months, last year you could estimate that the Android version will have 1/10th of the Iphone downloads, now it is more like 1/3 with free games. Paid games are also selling great, if you think about the payment limitations (not all countries supported, credit card only).
    Also Spectral souls showed that Android users are willing to buy quality software for higher prices, which is a great sign of things to come.

    Honestly, i think this is bollocks, the only Arm6 device that people buy in masses is the ZTE Blade, which is supported by Unity.
    The other big Android sellers are all higher end devices like the Galaxy S, Desire HD, Droid etc.
    If you optimize your game for the Nexus One, it will be playable by a huge part of your audience.

    And if we are talking Tegra 2, we are essentially talking about a new plattform for tablets. Most of the games that were shown at MWC today on tegra 2 won't work on lower end devices and are ports of PC and 360 games in 720p. If you want to make a high end 3D game with a 12 month dev cycle, then this is your target plattform, because by then you have lots of devices in consumer hands, for normal mobile games in the next months, I wouldn't even use Tegra 2 or Adreno 205 as a reference. As long as your game is running on a Nexus One, it'll run on all important Android handsets.
    Androidpimps.com
    Android Gaming News, Reviews and Specials