Search Unity

  1. Curious about what's going to be in 2021.1? Have a look at the 2021.1 beta blog post.
    Dismiss Notice

why the minimum is iOS 11?

Discussion in '2020.1 Beta' started by creat327, Oct 22, 2019.

  1. creat327

    creat327

    Joined:
    Mar 19, 2009
    Posts:
    1,242
    Is there any particular reason for this? I can't find anywhere that the minimum target deployment for apple is now iOS 11, and there are ton of people on iOS 10 still.
     
  2. creat327

    creat327

    Joined:
    Mar 19, 2009
    Posts:
    1,242
    hello? anyone? 2019.3 moved from ios 9 to ios 10. Ok, I can understand it. But 3 months later and it moves from ios 10 to ios 11 when there are a trillion devices there stuck with ios 10 and not able to upgrade?

    Please, explain why ios 11 must be mandatory to compile on unity 2020 and ios 10 is not enough. It will leave way too many people out of Unity games using the latest version.
     
  3. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    7,454
    What are those devices?

    AFAIK iPhone 5 and 5c are dropped and iPad 4th gen, and... that's about it?

    Meanwhile this allows them to drop GLES 2.0 completely, since all iOS 11 devices support Metal.
     
    Rich_A and brunocoimbra like this.
  4. brunocoimbra

    brunocoimbra

    Joined:
    Sep 2, 2015
    Posts:
    584
    Also, in addition to what @AcidArrow said, 2020.1 is still in alpha, so not meant for production yet, and should only be actual released (out of both alpha and beta) next year between end of Q1 and start of Q2 (if Unity follows the same release schedule since 2017).
     
    Rich_A and Peter77 like this.
  5. creat327

    creat327

    Joined:
    Mar 19, 2009
    Posts:
    1,242
    There are tons of people playing games on ipad 4th gen. It's a very common device.
     
  6. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    7,454
    Not really? https://david-smith.org/iosversionstats/

    But I'd welcome stats that show otherwise.

    Also, that specific stats page, since it is from an audiobook app, they are much more weighted towards the low end than the average Unity game (at least from back when Unity had their stats public so I could compare)
     
    Tartiflette likes this.
  7. creat327

    creat327

    Joined:
    Mar 19, 2009
    Posts:
    1,242
    yes really. I've seen those stats too but here is the thing... that's not app depedent.
    I mean, if you wrote an app only for ipad and not for iphone, you would say: hey, 95% of iphone users are upgraded. True, but that's not your target.

    Here is a similar situation. You can't just look at ipad and say that ipad 4th is only 1% of the ipad loading your app, therefore, almost no ipad 4th. It could well be that YOUR app is mostly used by ipad 4th. Or that nobody uses your English reading app on older ipads in United States but worldwide it's flooded with that version because it was a cheaper alternative. What I'm saying is that many, many, many ipad users are stuck on ios 10 or lower. Perfectly fine working ipads specially outside the United Sates. If you enforce ios 11, you are going to leave ton of people out of any upgrade. I don't understand why 2019.3 enforces ios 10 and in less than 3 months, you are going to enforce ios 11. I would give it some more time. Not that my opinion matters, but hey, I always try to make it work on as many devices as possible unless they are crap. And ipad 4th works perfectly fine for almost any game nowadays. It's not like an iphone 2g.
     
  8. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    7,454
    I understand, but if you care that much about supporting the iPad 4, stay on 2019.4 LTS for a while. You still have more than 2 years of updates for that and it’s perfectly doable.

    I can’t talk in place of Unity obviously, but I’m thinking dropping ES 2.0 support simplifies things for them and allows for more features to be universally supported on iOS.
     
    Rich_A, richardkettlewell and Peter77 like this.
  9. elbows

    elbows

    Joined:
    Nov 28, 2009
    Posts:
    2,465
    In terms of raw power, its not in the same state that the early iphones quickly found themselves in.

    But the ipad 4th gen is a 32 bit device, thats why it faces a 'premature death' - lots of modern apps wont run on it as a result, apple have moved devs etc onto 64 bit only. I have a friend who hates to upgrade but even he had to move on to a 64 bit ipad this year, he just could not stand to be unable to run lots of new apps on it.
     
  10. AlkisFortuneFish

    AlkisFortuneFish

    Joined:
    Apr 26, 2013
    Posts:
    858
    Yeah, this had me intrigued, so I looked at all stats I could find and everything seems to indicate that less than 5% of devices use <= iOS 10. Likewise, any stats showing otherwise very welcome, the more data we have access to as developers the better.
     
  11. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    26,892
    ES2.0 is the worst thing in existence for mobile graphics developers. It's basically the annoying person who won't leave the store even though the lights have been dimmed a while.


    Then says "was just browsing".
     
    MadeFromPolygons likes this.
  12. creat327

    creat327

    Joined:
    Mar 19, 2009
    Posts:
    1,242
    lol, yeah I also wish ES2.0 was dead and 3.1 was the standard for mobile. Unfortunately on Android is still a huge market. I have so much shader work that I would love to use but I can't unless I remove 1/3 of the userbase.
     
  13. 5argon

    5argon

    Joined:
    Jun 10, 2013
    Posts:
    1,514
    For iOS there's a thing about PVRTC. Compression artifact looks horrible around alpha edges and it requires square POT dimension as opposed to just POT, but default "Compressed" in Unity falls back to that thanks to having to keep backward compatibility.

    Trying to make the game works as many devices as possible sounds ideal, but it costs someone with better device a bad experience in exchange. I view that as not "works". You could as well view that the game is now somewhat incompatible with newer devices even though number of devices that could download the game goes up, number of devices with optimal experience went down.

    If we guarantee Metal, then the default could now be ASTC instead or even ETC2 then we can crunch it. Artifacts look subtle and we can optimize with block size, with quality (how channels are summed up) and get non-square POT dimension. We can finally stop worrying about someone coming without Metal (< A8). I am very glad that < A8 devices is finally being phased out. I just cut down iOS download size from 50MB to 30MB from this decision to ignores PVRTC alone.

    Researches :

    https://gametorrahod.com/dealing-with-ios-android-texture-in-2019/
    https://gametorrahod.com/pvrtc-vs-astc-texture-compression-on-an-ios-device/
     
    TigerHix, hippocoder and Gametyme like this.
  14. 00christian00

    00christian00

    Joined:
    Jul 22, 2012
    Posts:
    937
    Was ES 2.0 dropped also for Android in 2020.1?
    I checked few months ago and seem to me there are still lots of ES 2.0 devices out there and many with poor ES 3.0 implementation.
     
  15. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    7,454
    I don’t know, but I don’t think so.
     
  16. 5argon

    5argon

    Joined:
    Jun 10, 2013
    Posts:
    1,514
    hippocoder likes this.
  17. 00christian00

    00christian00

    Joined:
    Jul 22, 2012
    Posts:
    937
  18. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    7,454
    It’s not little, but we are talking about iOS.
     
    richardkettlewell likes this.
  19. 5argon

    5argon

    Joined:
    Jun 10, 2013
    Posts:
    1,514
    I do think it is a lot numerically but there are more considerations to weight than just applying percentage to # of human if your target is to maximize revenue :

    - You want a maximum number of devices able to download the game no matter what, so you predict that it translates to maximum revenue. Then go for this.
    - Your own development velocity : if you can ditch them and make a better code and put out faster new features? Or eliminates more bugs? May turns out to be better profit than maximize compatibility.
    - How many of 21.1% are actually your potential customers or better, paying customer : better confirmed with your own game's analytics that could report GL version. (Or better generic data from countries that more likely game, like Japan/Korea) Maybe they came from devices which could not handle games in the first place, or in a hand of person not interested in gaming. You can deploy multi APK with GL3 priority over GL2, and see how many got that GL2 APK fallback. (I have not done this, already shifted to AAB with only crunched ETC2 for dev simplicity. Same for iOS with ASTC.)

    In June 2014 GL2.0 was 83.6% vs GL3.0 16.3% (https://stackoverflow.com/a/13036753/862147). I would not think like this in that time. My threshold would be around < 30%, maybe yours is lower like < 5%. Wait a few more years in that case.
     
    Last edited: Oct 27, 2019
    TigerHix and hippocoder like this.
  20. creat327

    creat327

    Joined:
    Mar 19, 2009
    Posts:
    1,242
    The problem with opengl 3.0 is that i've heard lot of horror stories on android. Things going half the speed than opengl 2.0. So it seems that the only "safe" way for android is opengl 3.1 which has still a very little user base. So no way to ditch 2.0 so far.

    On a side note. Is there an option to change the default image compression type to ASTC for ios? Since we can finally remove the horrible PVRTC but manually going through every image on a project would kill me
     
  21. AlkisFortuneFish

    AlkisFortuneFish

    Joined:
    Apr 26, 2013
    Posts:
    858
    Use an asset postprocessor:

    https://docs.unity3d.com/ScriptReference/AssetPostprocessor.html
     
    Last edited: Nov 9, 2020
  22. elbows

    elbows

    Joined:
    Nov 28, 2009
    Posts:
    2,465
    Following on from that, I should have pointed out that there is a message in 2019.3 Player iOS Architecture settings, if you have it set to Universal then it says that ARMv7 (32 bit) is deprecated, and will be removed from Unity 2020.1.
     
    Peter77 likes this.
  23. warren-miller-maltd

    warren-miller-maltd

    Joined:
    Jul 26, 2012
    Posts:
    53
    30% of our iPad users are on iOS 9 - it seems crazy to move the minimum target deployment
     
    raybarrera-aofl and creat327 like this.
  24. tertle

    tertle

    Joined:
    Jan 25, 2011
    Posts:
    2,769
    It's a good thing you won't have to update till at least 2022 when 2019 LTS support ends.
     
    Rich_A, QFSW, hippocoder and 2 others like this.
  25. raybarrera-aofl

    raybarrera-aofl

    Joined:
    Sep 4, 2016
    Posts:
    8
    It's a bit silly that Unity is removing iOS 9 support in 2019.3. That means 2019 LTS is off the table for anyone on 2018LTS. That's the bigger issue IMO.
     
  26. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    26,892
    I don't think so because 2018 LTS is still going to work long past when updates stop, plus Apple is very aggressive about pushing users to update. So when LTS does expire, if that number isn't 0% then I'll be quite surprised. I don't think there's a rational argument beyond simple fear to keep ES2 around.
     
  27. krisventure

    krisventure

    Joined:
    Mar 24, 2016
    Posts:
    54
    I agree that this is silly. Even 9 months later, end of the year, some stats still show 1-2% usage for iOS 10.x versions. I've checked about 8 or 10 of the top games on App store, the ones with the highest monthly download rates, and every one of them runs on iOS 10 still as of September 2020. If anyone, they must know where to draw the line. And these games are all made with Unity and get updated every few weeks so clearly, they've chosen not to upgrade to Unity 2020 for a reason. I'll follow their example and go back to Unity 2019 LTS for now.
     
  28. ferretnt

    ferretnt

    Joined:
    Apr 10, 2012
    Posts:
    337
    I'm firmly in the camp that 2020 LTS should be iOS 11+, Metal only (kill OpenGL support completely on iOS), and move the default texture compression to not use PVRTC. The LTV of users on older iOS devices is almost zero because of forced upgrades.

    The default Android API should be Vulkan, with fallback to ES3/2 where not available. ES3 is just a gong show. Android drivers are generally untested garbage, and vulkan at least mitigates that because the driver isn't responsible for doing very much - most of the work is pushed into the engine dispatch (Unity) layer.

    The main iOS exception is apps targeting kids on hand-me-down devices that can't install a newer OS, but they don't need newer Unity features, and honestly, all the ones you're going to support in a newer app can install ios 11+. Plus, if your iOS app is really old (I've upgraded a few evergreen kids apps) the move from 2017.4 to 2018/19, at which point you need to deal with nested prefabs, the loss of your particle system, and NGUI falling apart, is much more hassle than graphics API choice....
     
    Last edited: Oct 1, 2020
  29. leonardo_demartino

    leonardo_demartino

    Joined:
    Jan 5, 2018
    Posts:
    3
    triple_why and Obsidianss like this.
  30. studentvz

    studentvz

    Joined:
    Dec 14, 2014
    Posts:
    104
    I agree, we have around 8% of users on iOS 9, and losing that is a huge impact on revenue. Because of this, we chose not to move to 2019LTS, even if it fixes important bugs for us.

    On iOS 10 we have around 7% of users. That is also a big number. If we move to Unity 2020 we will lose 15% of users, which is a 15% loss in revenue.
     
    Last edited: Nov 15, 2020
  31. Deozaan

    Deozaan

    Joined:
    Oct 27, 2010
    Posts:
    701
    Obviously the solution is to tell your users to take their ancient iDevice they bought last year and throw it into the dumpster and buy a modern one that Apple still supports.;)
     
  32. AlkisFortuneFish

    AlkisFortuneFish

    Joined:
    Apr 26, 2013
    Posts:
    858
    I think you misspelt Android here, since "bought last year" in this context means "bought 7-8 years ago". ;-)
     
  33. Obsidianss

    Obsidianss

    Joined:
    Jul 4, 2017
    Posts:
    13
    Could anyone from unity please take a look at this?
     
  34. studentvz

    studentvz

    Joined:
    Dec 14, 2014
    Posts:
    104
  35. Obsidianss

    Obsidianss

    Joined:
    Jul 4, 2017
    Posts:
    13
unityunity