World Absolute Position Node not working in Android mobile.

We have made a shader that uses World Absolute Position to fade.
It works everywhere, PC and Mobile previewer.
But when used on device ( Nexus 6 ) and a few other androids.
It seems that the shader completely disappear. We isolated the problem to the fact that World Absolute Position is returning blank. Is there a reason why this is happening?

It also seems to be happening on a fresh project.

I think only thing you can do - is disable this feature for that specific devices. Usually such a things related to device drivers, so try to switch it using device profiles and material quality switcher.

i’m not sure how am i going to fade the line based on world position anymore without this.

BTW, while previewing with material quality switcher and Unreal ( even on mobile and lower feature ) it seems to work fine. It’s only not working on the phone. I’m wondering have other people experienced the same.

I tried to use WP to make seamless texturing for environment. But on android device it looks terrible - textures are pixelated and broken. So its something with precision and device soft/hardware.

HI Frozenfire,
I have still the same issue here with UE 4.26, the “Absolute World Position” node it still not working on my Android device (just in case, its open GL version is 3.20 V@415.0).

Did you find any solution since or did you conclude too that it is a device limitation?
Otherwise did you find any bypass to get the same effect without using “Absolute World Position”?

i think it just basically don’t support IIRC.
Didn’t build on Android after that. but i believe this is more of an API limitation rather than device.

Frankly I forgot why we need this back then. I just remember which project it is but not what was the solution.

Thanks Frozenfire for your response by the way, i finally resolve the problem, it was another weird behavior. Just in case it can helps anybody else: My shader works with AWP - Camera pos to compare the distance (vector length) with another const value.On my phone, the Absolute World Position works well in my shader, but when I tried to get the length, the results was limited to 255 max… But decimals are not limited, so divide by 1000 vectors (before getting the length) and the const value to compare with do the tricks. And it is reliable on every plateforms.

Hi NansP,
Thank you so much for your solution. I’m having the same issue w my android phone and I wasn’t sure what you meant by divide by 1000 vectors. I’ve attached a screenshot below. I’m connecting this to an alpha value on lerp. Can you please explain to me in a little bit easy way. Thank you so much

Hi G1PARK, Oh sorry,I miss some explanations, it would have been more understandable if I had said “divide all vectors retrieved from the world by 1000”. In your case you probably have to do something like this, but I don’t see the whole plan of your shader so it’s just a guess.

@nansP
WOW~! IT REALLY WORKS! Thank you so much for your thorough explanation.
You saved my project. :):):slight_smile:

Oh great! I’m very glad is working for you too :D!