Graphics quality on Android

A game looks OK in the editor but does not looks good on Android.

Thanks for any advice.

there is no linear color space on mobile, and last I heard the standard shader doesnt work correctly in gamma color space. i made a thread about android (back around ~beta 18) and they basically told me gamma color space is not working correctly right now.

so, if you are using “No Graphics Emulation” in the editor, that’s not really representative of how it’s going to look running on android. If your project is set to use linear color space then the standard shader will use linear space in the editor. But then on android it falls back to gamma and looks horrible.

and honestly, there are probably more problems with android that they have not mentioned yet. Your problem above looks like an issue with global illumination or something other than color space. I gave up on using the unity 5 beta for android builds. It’s been broken then entire beta.

if you look at threads here, it’s overall not really working: http://forum.unity3d.com/search/1011637/?q=android&o=date&c[title_only]=1&c[node]=72

Thanks.

Hey ng-pixels,

Could you perhaps check in the released version of Unity (5.0.0f4) and if the problem still persists – submit a bug report with this scene? To me it looks like an issue with reflection probe sampling…

Generally the standard shader works in gamma space as well as it can, but by definition the results are not correct.

Also, none of the current mobile GPUs support the hardware conversion from sRGB to linear, so unfortunately you’d have to settle on using gamma space lighting in projects that target mobile devices. We plan to solve this problem for you, but as per usual, it’s a quality vs performance tradeoff.

may be we can use a Gamma 2.0 as a solution for mobile just a pow2 and a sqrt … ?

Essentially yes, but each texture that’s not in linear space would have to be converted. Since you can set whether the texture is in linear or gamma in the texture importer, that means that each texture would have to have the ability to convert from gamma to linear when being sampled.

It’s certainly quite easily solvable in custom shaders for one project that uses certain conventions (e.g. gamma space only for albedo textues), but a bit more tricky in the general case.

hey @Kuba , will linear color space be available on mobile platforms in unity anytime soon?

I’m currently evaluating Unity5 vs UE4 for mobile… UE4 supports linear HDR lighting on mobile platforms. I would much rather use Unity, but I want to target high end / future mobile hardware (tegra K1, X1, etc), and the unity 5 standard shader currently looks absolutely horrible on mobile.

Yes, definitely. Right now hardware support on mobile for proper sRGB handling is pretty bad and we don’t really want to do the conversions manually in the shader and pay the cost per pixel. We do think it’s important to get it working across the board though.

Thanks for the reply, Kuba - where does this fall onto the roadmap?

1 Like