For what it's worth I had a small hiccup and wanted to share my solution with anyone that could use it. Previously, with 3D colliders and objects, we had a lovely Bounds object that contains the Extents of our object in x, y, and z. Great for plenty of things. Custom collisions, controllers, raycast origins, special effects, etc. It was as easy as: Code (csharp): Vector3 playerExtents = collider.bounds.extents; Unfortunately, 2D colliders (and renderers) don't seem to have a nice Bounds object to work with. We can, however, reference a BoxCollider2D, or any other 2D collider for that matter. After referencing this collider, we can just get the info we want from that. For example: Code (csharp): Vector3 extents = GetComponent<BoxCollider2D>().size * 0.5f; Which can be used to get player extent offsets like so: Code (csharp): Vector3 PlayerBottomLeft = new Vector3(-extents.x, -extents.y, 0f); Vector3 PlayerBottomRight = new Vector3(extents.x, -extents.y, 0f); And used like so: Code (csharp): float rayDist = 2.0f; // Distance to cast rays // Raycast down from bottom left Vector3 rayOrigin = transform.position + PlayerBottomLeft; Vector3 rayDirection = Vector3.down; RaycastHit2D hitBottomLeft = Physics2D.Raycast(rayOrigin, rayDirection, rayDist, groundMask); // groundMask is a simple LayerMask Debug.DrawRay(rayOrigin, rayDirection * rayDist * hitBottomLeft.fraction, Color.yellow); Hopefully this will help someone out! Also, please let me know if I've missed something.