Quick answer: Godot 4 shader works on PC but pixelated on mobile? Compatibility renderer uses lowp by default - explicitly use highp for color calculations.
Smooth gradient shader. Desktop: continuous gradient. Android: banded.
Use highp explicitly
precision highp float;Top of shader. Forces high precision for the whole file.
Or per-variable
highp on color variables; lowp on factors. Mixed precision; minimum cost where it matters.
Test on actual hardware
The compatibility renderer behaves differently per device. Test on lowest-tier supported device.
“Precision is a per-platform decision. Defaults differ.”
If your shaders look fine on desktop and broken on mobile, precision is the first suspect.