Quick answer: Unity Shader Graph's built-in noise nodes producing different patterns on iOS (Metal) vs Android (Vulkan)? Implementation differs per backend - use a texture-based noise.
Water shader; noise gives a moving pattern. iOS shows one pattern; Android shows another at the same time.
Bake noise to texture
Author a noise texture; sample in shader. Identical across platforms.
Or use a deterministic algorithm
Custom HLSL implementation; one math path; same output everywhere.
Verify per platform
Side-by-side: iOS Metal vs Android Vulkan vs PC. Same noise input; same output expected.
“Built-in shader functions are platform-implemented. Implementations differ.”
For cross-platform consistency, texture-based noise is the universal answer. Procedural noise is platform-quirky.