Hey, I’m trying to make my UI button follow my 2D sprite when the sprite moves up/down. The movement is good but the positioning is way off screen and i'm not too sure what's causing this offset. I'm thinking that my use WorldToScreenPoint() isn't implemented correctly. My UI Canvas’ render mode is "Screen Space - Camera". At the moment i can't even see the UI buttons because it's offsetted so much. When i switch the UI Canvas’ render mode to "Screen Space - Overlay" it’s perfect in that it’s exactly where i want the button to be but ideally i'd like to keep "Screen Space - Camera". The camera that the "Screen Space - Camera" is using is following the sprite but i don't think that should really cause any issues. I'm learning towards that the problem is my conversion and it's not a settings problem because when switching to "Screen Space - Overlay" it is pretty much perfect. The code which i'm using right now: Code (CSharp): Vector3 mySpritePosition = myCamera.WorldToScreenPoint(mySprite.gameObject.transform.position); myUIButton.transform.position = new Vector3(myUIButton.transform.position.x, mySpritePosition.y, myUIButton.transform.position.z); Really hope to get some feedback on this and any help will be appreciated! Any help will be appreciated!