Hi everybody !
I’m working on a huge project for IOS and android and I’m trying to optimize it.
I add a quality settings menu to let users change their quality settings in runtime and select some profile (Low, Medium or Hight).
This buttons call the QualitySetting class and load the appropriate quality setting.
When I use it on the editor, all work perfectly but when I build my application and use it on my iPad, when I set my quality settings to Low or Medium (Hight is my default setting), all my texture disappear (only alpha decals stay).
I was sure this implementation works fine on version 4.01f and it starts to do that since version 4.1.
I was hoping version 4.13 will correct this but apparently, it didn’t :-/
Does someone have the same problem ? Is there any solution ?
Thanks a lot for your attention !
Hi again,
I discovered that if I load my game with low quality settings first, changing quality settings during runtime works but if I load my game with hight quality settings, changing quality settings during runtime make my textures disappear…
If you have any suggestions…
Thanks
Missing textures is a sign of memory lost. The reason you are getting black textures is because your texture memory is all used up. What I would suggest doing is checking the users device and auto set the quality setting for them. For a PC game this is a useful feature but on IOS it’s a little different.
Look at this.
It will allow you to check the device then you can auto set the quality setting for them.
But if you still want to give the user the options go ahead, but still auto set their quality to what you think, so you don’t get any missing textures.
I’m experiencing the same issue with 4.1.3, and previously with 3.5.7 everything was working perfectly, so the “missing textures is a sign of memory lost” cannot be applied here. It seems another bug introduced by our unity friends
Hi and thanks for your answers,
@DexRobinson :
Thanks for your explanations!
I have a question with ‘auto setting’ the quality:
Imagine that an application is built in ‘High’ quality and the user wants it in ‘Low’ quality.
When the user sets the quality to ‘Low’, does the application take in account this setting at the next launch (and immediately load the textures in the adequate ‘Low’ quality) or does the application first load the textures with the quality settings used during the build (‘High’) and, in a second step compress again the texture using the user settings (‘Low’) ?
@Eskema : I’m sure that it is a Unity memory management bug too, the biggest Unity 4.1 (and maybe Unity 4) IOS problem…
I really don’t know how we can bypass this bug…
If you switch the quality settings in game, the game will freeze for a couple of seconds, then it will start to move again. In the auto settings it would load your default setting first then adjust it according to the device it checks. If you do this during a logo or start up screen it will be quicker.