Getting the camera to scroll when the player hits the edge of the screen?

Hi, Im fairly new to Unity and Im just trying out a few camera set-ups for a 3d side scrolling type game. What I would like to do with the camera is have it scroll ahead a set amount when the player hits the edge of the screen. Ive got an image here to help better describe it.

Basically, the camera would be at a set height and angle, but in the style of old side scrolling beat-'em-ups, I want the camera to advance when the player moves to the edge of the screen. This would show the next area (top red square). Alternatively, having the camera move as they came within a certain distance of the edge of the view would work too.

I know how to get the camera to follow the player, but getting the camera to only move in certain instances is what Im struggling with.

I can hopefully provide more info/examples if this doesnt make sense.


You can get the screen position of your character using

This function will take the position of your character in 3d world space, and convert it to a pixel coordinate. You can compare this against the screen size to see if you want to move the camera.

Alternatively, you may want to use

Which converts a world position to a “screen-fraction” value between 0 and 1.0, for both the x and y coordinates (The bottom-left of the camera is (0,0); the top-right is (1,1).)
When you detect a reslut for x greater than say… 0.8f, move the camera right. When you detect a coordinate less than say… 0.2f move the camera left.
The AMOUNT to move the camera could be a trickier to figure out, but perhaps you can just use some constant value.