Hello, this is a weird one. I’ve already submitted a bug report. Posting it here, because I feel like I missed something.
So. I’ve got a shader (built with Shader Graph) that calculates the distance of a frag from a specific Vector3 position parameter in the scene. Then it calculates the colors accordingly. In this example it just puts a black dot on the position. In the screenshot you see the plane has this shader. The black dot is where HighlightPosition is. The cylinders are just markers.
Now, when I build for Windows, everything’s fine. But when we build for Android, specifically Oculus Quest, it doesn’t work anymore. The position is offseted. I can’t attach a screenshot out of the Oculus Quest right now, but just imagine the black dot being somewhere else. After some tries I figured out:
- For the X value the HighlightPosition.y value is being read. So if I have (1,0,0) as HighlightPosition, in the Editor the black dot would move one cylinder to the right. But on the Quest nothing would happen. If I have (0,1,0), then in the Quest the black dot would move one to the right - but in the Editor it would go one up.
- Y is nothing. It’s just not sampled out of HighlightPosition.
- I haven’t tested what Z is.
- It has nothing to do with the Position-Node. I’ve tested that and it behaves how you would expect. It definitely has something to do with the Vector3 parameter.
- If I don’t use a parameter for a Vector3, but just use a Vector3-Node then it works fine.

But I found a workaround: If I replace the Vector3 parameter with 3 seperate Vector1’s, there isn’t a problem. See the three seperate Vector1’s that I combine.
Am I missing something? Or is this just a weird bug? I mean, it shouldn’t happen, right?
I’ve tested on Unity 2019.4.10 and 2019.4.23.