So, I'm trying to make a script that allows me to create a collider, set it to trigger, and have that be the area that my player can walk on. When he leaves the trigger he gets pushed back into the area. I tried to achieve this with this line of code: Code (CSharp): Vector2 closestPoint; closestPoint = coll.ClosestPoint(new Vector2(player.transform.position.x, player.transform.position.y)); rb2d.velocity = new Vector2((player.transform.position.x - closestPoint.x) * bounceBack, (player.transform.position.y - closestPoint.y) * bounceBack); This sadly doesn't work because when the player leaves the trigger the closestPoint IS the player's position. That causes the velocity to be set to 0 instead of creating a pushback effect. Now I wanted to find the normal of the closestPoint so that I can create a pushback effect from that, but these points don't seem to hold a normal value, and using contact points isn't an option because I'm using a trigger. If anyone has a way to find a useful normal here, or if anyone just has a better way of getting the outcome I'm looking for, I'd love to hear.