Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Question Scaling unity game for multiple resolutions, most optimal way? For iOS & Android

Discussion in 'Editor & General Support' started by DexterScale, May 12, 2020.

  1. DexterScale

    DexterScale

    Joined:
    May 12, 2020
    Posts:
    3
    Hi all,

    My game graphical assets and UI was made for 2048×1536 resolution in unity. I started the project 2 years ago and didn't have experience so when hiring desigers I basicaly got them to create the artwork in the highest resolution which was 2048×1536 which works fine but doesnt scale right in lower resolutions. I now want to scale the game to work on multiple different resolutions but want to find the most optimal way of doing so.

    I want to publish this in Android and iOS.
    What would be the best way to scale the game in a optimial way to do so? I understand theres scripts out there that scale the game UI depending on the screen size but apparently that is not the most optimal way for going about it. I have also heard of creating 3 sets of assets low/med/high resolution and then the game uses the relevant assets depending on device size.

    Can anyone let me know the best way to go about it? Would pay for help.
    Thanks
     
  2. Joe-Censored

    Joe-Censored

    Joined:
    Mar 26, 2013
    Posts:
    11,847
    Questions that ask what is the "most optimal" or "best" way of doing something rarely get definitive responses, because there is never ever a most optimal or best way of doing something which is always true in every possible situation.

    For example, just using a canvas scaler is usually the easiest to implement (so is the "most optimal" from a development perspective), but depending on your UI you may end up with some UI elements which are too small on some resolutions, requiring redesign to look right.

    https://docs.unity3d.com/Packages/com.unity.ugui@1.0/manual/script-CanvasScaler.html

    Using multiple sets of assets for different resolutions has its own issues. You've got to create assets for every possible resolution (or at least several sets so you cover all resolutions adequately), and they will take up extra space in your build. You also might not have the memory budget to load them all at the same time, so might need to get creative to load only the correct set when needed while keeping all others unloaded. You might even have to utilize things like asset bundles so the device only downloads the correct texture set for their device.

    Another alternative is to force the game to a lower resolution than the device is capable of. One which you'd expect all devices to support. You get the benefit of higher FPS, and only making a single texture set, but the disadvantage of your game possibly not looking as good as it could.

    Some basic tips from the manual:
    https://docs.unity3d.com/Packages/com.unity.ugui@1.0/manual/HOWTO-UIMultiResolution.html
     
    AshwinTheGammer likes this.
  3. AshwinTheGammer

    AshwinTheGammer

    Joined:
    Sep 23, 2016
    Posts:
    69
    You're right, here. Is it possible to run the game on custom resolution without making game look stretched? Making game to run on lower resolution increases FPS in my case.
     
  4. Joe-Censored

    Joe-Censored

    Joined:
    Mar 26, 2013
    Posts:
    11,847
    To prevent any stretching, the custom resolution would need to be the same aspect ratio as the native resolution. But then you're back to supporting multiple resolutions again.
     
  5. ohthepain

    ohthepain

    Joined:
    May 31, 2017
    Posts:
    100
    I am in the same boat as Dexter. I don't want tablet assets on phones. I want users to optionally download the tablet assets. So I want 2 sets of assets, sd and hd, and want to be able to swap between them. HD assets would be optionally downloaded for tablet users. I have already dealt with the layout issues. I just want to optionally display hd assets instead of sd assets if for tablet users that want to download the optional hd content.