How to have different Quality Settings for WebGL mobile vs WebGL desktop?

Is it possible to have a different quality setting for WebGL mobile vs WebGL desktop?

How would you do that?

In quality settings, you can set different platform with different default quality settings, but it doesn’t seem like you can differentiate WebGL mobile from WebGL desktop.

This seems like an important feature that Unity should have considering that IOS for instant will kill any tab over 500mb. But you may want to have higher resolution settings on desktop.

Same thing for Texture compression format. Should have the option of setting different settings.
It seems that desktop browser require DXT, but mobile browser require ASTC ??? So it’s not possible to have your textures compress correctly on both mobile and desktop with WebGL ?

Unity 6 says it now officially supports WebGL mobile, so I think that would be an important feature.

Good question. I believe you are somewhat limited in what settings can be changed at runtime in WebGL. The Application and SystemInfo classes can be used to determine mobile vs desktop but this encoding isn’t a 100% guarantee (ie a user may have set the tab to load the desktop version on iPad).

You can then apply a different quality setting at runtime.

Correct. You would have to use asset bundles / addressables with content for either desktop or mobile builds. I believe you can ship these bundles in the StreamingAssets folder of the app though, so you needn’t have cloud content delivery enabled.

Or use a commonly supported but uncompressed format. May be an option particularly if 16/8 bit textures suffice.

Wouldn’t Application.platform return WebGL? And not whether the user is on mobile or desktop?

Edit: ok seems like i can use Application.isMobilePlatform

And what do you mean by commonly supported but uncompressed format? It wouldn’t be compressed?

For instance RGBA32 uncompressed vs RGB565 uncompressed if you don’t need the full color range nor transparency. This would be half the size.

Definitely need transparency it’s 2d game