Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice
  3. Join us on November 16th, 2023, between 1 pm and 9 pm CET for Ask the Experts Online on Discord and on Unity Discussions.
    Dismiss Notice

Best way to set Quality Settings for Device: Android

Discussion in 'Scripting' started by Nigey, Nov 12, 2015.

  1. Nigey

    Nigey

    Joined:
    Sep 29, 2013
    Posts:
    1,129
    Hi Guys,

    Said it in the title really. What's the best way.

    I see you can use SystemInfo (http://docs.unity3d.com/ScriptReference/SystemInfo.html) to find a slew of data about the device running the program.

    I see too you can easily edito the QualitySettings in script at runtime:
    Code (CSharp):
    1. QualitySettings.SetQualityLevel(quality, true);
    But with Android having SOOOO many devices. What's the best practice? Is it just making a mah-oosive switch statement listing them with a default if not found? I've seen people counting the framerate of the first 5 seconds, but I see there's a lot of data in SystemInfo. Is there maybe something that could be used?

    What's your best practice for quality settings guys? :)
     
  2. Elmdran

    Elmdran

    Joined:
    Oct 28, 2014
    Posts:
    34
    I would use pre-defined quality levels and check the users framerate, then use

    Code (CSharp):
    1. QualitySettings.'Increase/Decrease'Level(true/false);
    until I reached my minimum desired framerate.