Flipped Screen UV on Mobile

Hello, i am currently developing a mobile game and i ran across this big bug.

The ScreenPosition node in the material editor gives me the wrong position of my widget.

I use the phone in landscape mode and it seems like the bottm left corner is 0,0 UV wise. And the top left corner seems to be 0,1 (X,Y to eliminate misunderstandings).
It basically flipps the Y coordinate and i could resolve the problem by doing screen resolution - screen position. The new problem is now that this is not the case for all Android devices.

I tested it on a Sony Xperia Z3 Compact, Sony Xperia One and a ZTE Libero S10.
The Sony Xperia One has no problem. I can just hook the PixelPosition Output up with the screen position i get from the CovertWorldLocationToScreenLocation node and it works as expected(top 0, bottom1.

For the Sony Z3 Compact and the ZTE Libero S10 the bug appears and i get a flipped output from the ScreenPosition node(top 1, bottom 0).

I googled arround and found a bug report on the Unreal bug report page that seems to adress exactly this issue.

The bug report can be found here: UE-63442

On the bug page the bug is stated as fixed in Version 4.21. But this does not seem to be the case as i use Unreal 4.23 always on the latest non Preview build(Launcher Version) and the bug still appears for me on some devices at least.

What i am doing game wise is that i get the Screen Location of the Character and use this location in a material, that i have assigned to cover the whole screen in a widget, to cut out a certain part of it via a sphere mask where i use the ScreenPosition as A input and the Character Screen Location as B input. Like that i simulate a lantern to only show stuff arround the character without using light(because performance because mobile).

So my question is: Is there a way to work arround for this and will it get fixed in general? Also why is it marked as fixed even tho it still seems to appear on some devices?

Any help or statement would be nice, this is driving me quite crazy for a while now.


We’ve recently made a switch to a new bug reporting method using a more structured form. Please visit the link below for more details and report the issue using the new Bug Submission Form. Feel free to continue to use this thread for community discussion around the issue.



Hello, the thing is (if you would have actually read my post) this is an already reported bug and even marked as fixed even tho it seems to be dependend on the Andrid device.

can you show a screenshot or picture so I can see what is going on?

I never ran into a bug like this when developing for mobile.

Will do on tuesday since that is my next work day. Also did you use the screen position node in materials while developing for mobile? Just to go sure.
Maybe i can describe it a bit better untill then: I get the screen position of the character and do a sphere mask there. The spehre mask gets fed in the character position and the output of the ScreenPosition node to cut out a hole in a screenwide material(anchored to all edges of the screen in a widget). If the character is at 500,100(screen coordinates x,y) the hole appears at 500, screen hight - 100(in ladscape mode, dont know if anyhting else is affected). And as i move the character upwards the hole moves down.

Works normal on the preview on pc and on the Xperia One, but the Xperia 3 Compact and the Libero S10 have that bug.

Hope this helps to clarify the problem. And thanks for the help.

I have not done anything like this though

So, i am not allowed to upload screenshots.

And i think the problem has to d with the touch coordinate system compared to the screen coordinate system.
The Xperia One seems to not have a seperate touch coordinate system(reason why it gets the same results as a normal desktop screen).

The other two seem to have the normal android touch/screen layout where the 0,0 for touch is in the top left and the 0,0 for the screen is in the bottom left. So the screen position node seems to be returning the touch coordinates while the Character Screen Location node return the coordinates in viewport/screen coordiantes.

Information can be found here: Android Coordinate Systems

Will try to find a workarround with this information or just change my Method completely to make it work with every device possible. If i find a solution i will post it here. But it seems not many ppl even need this.