Search Unity

iOS app slicing

Discussion in 'iOS and tvOS' started by BBO_Lagoon, Apr 24, 2020.

  1. BBO_Lagoon


    Mar 2, 2017
    Hi, I try to implement App slicing on my iOS game. I actually have 4 variants hd_astc, hd_pvrtc, sd_astc and sd_pvrtc. ASTC is supported as of A8 processor. Here is the list of supported iOS devices and the variants I want to apply.

    IPHONE 5 : 1136x640 A6 => sd_pvrtc
    IPAD 4G : 2048x1536 A6X => hd_pvrtc
    IPHONE_5C : 1136x640 A6 => sd_pvrtc
    IPHONE_5S : 1136x640 A7 => sd_pvrtc
    IPAD_AIR : 2048x1536 A7 => hd_pvrtc
    IPAD_MINI_2 : 2048x1536 A7 => hd_pvrtc
    IPHONE_6 : 1334x750 A8 => sd_astc
    IPHONE_6P : 1920x1080 A8 => hd_astc
    IPAD_AIR_2 : 2048x1536 A8X => hd_astc
    IPAD_MINI_3 : 2048x1536 A7 => hd_pvrtc
    IPOD_TOUCH_6 : 1334x750 A8 => sd_astc
    IPAD_PRO_12_9 : 2732x2048 A9X => hd_astc
    IPAD_MINI_4 : 2048x1536 A8 => hd_astc
    IPHONE_6S : 1334x750 A9 => sd_astc
    IPHONE_6SP : 1920x1080 A9 => hd_astc
    IPHONE_SE : 1136x640 A9 => sd_astc
    IPAD_PRO_9_7 : 2048x1536 A9X => hd_astc
    IPHONE_7 : 1334x750 A10 => sd_astc
    IPHONE_7P : 1920x1080 A10 => hd_astc
    IPAD_5 : 2048x1536 A9 => hd_astc
    IPAD_PRO_10_5 : 2224x1668 A10X => hd_astc
    IPAD_PRO2_12_9 : 2732x2048 A10X => hd_astc
    IPHONE_8 : 1334x750 A11 => sd_astc
    IPHONE_8P : 1920x1080 A11 => hd_astc
    IPHONE_X : 2436x1125 A11 => hd_astc
    IPAD_6 : 2048x1536 A10 => hd_astc
    IPHONE_XS : 2436x1125 A12 => hd_astc
    IPHONE_XS_MAX : 2688x1242 A12 => hd_astc
    IPHONE_XR : 1792x828 A12 => sd_astc
    IPAD_PRO3_12_9 : 2732x2048 A12X => hd_astc
    IPAD_MINI_5 : 2048x1536 A12 => hd_astc
    IPAD_AIR_3 : 2224x1668 A12 => hd_astc
    IPOD_TOUCH_7 : 1136x640 A10 => sd_astc
    IPHONE_11 : 1792x828 A13 => sd_astc
    IPHONE_11_PRO : 2436x1125 A13 => hd_astc
    IPHONE_11_PRO_MAX : 2688x1242 A13 => hd_astc
    IPAD_PRO2_11 : 2388x1668 A12Z => hd_astc
    IPAD_PRO4_12_9 : 2732x2048 A12Z => hd_astc
    IPHONE_SE2 : 1334x750 A13 => sd_astc

    For the newer devices I can assume that there are enought memory to support the hd texture and that the processor still supports astc so defaulting to hd_astc would be good.

    Now I see in Device drop down of Variant settings there is a "Custom value" choice, I think it's what I have to use.
    But what to write in it ?
    The documentation on this is really poor (inexistant) maybe a list of device model id (ex: "iPhone9,1") ?
    But what separator to use to add more than one device ?

    Any help would be appreciated ;)
    Thanks in advance.
  2. Neonlyte


    Oct 17, 2013
    Below is the Xcode settings which those variant settings in Unity are mapped to. As you can see, app slicing does not slice per-device but per-device family and per-capability. The custom value, I assume, is a fallback option for Unity in the event that Apple adds a new device type to Xcode. I hope it helps.

  3. BBO_Lagoon


    Mar 2, 2017
    Ok thanks, so app slicing is not really usable for HD / SD handling if we cannot target at least screen size or iOS densities (1x, 2x, 3x)