Scaling Orthographic Camera Up

Hey everyone,

Right now I’m developing a 2D Unity game on IOS and Android. I started my project developing on the Iphone 4S which has a resolution of 960x640. So I set my camera size to 4.8. I tried viewing this on an Android device with a resolution of 1920x1080 and as expected the sides were being cropped in a bit.

Is there a way to scale everything to fit other screens instead of it being cropped? Right now I have objects that are place very specifically to the original resolution.

Another question is it better to start with a larger resolution and then scale down? For example go from a camera size of 9.6 down to 4.8? I guess I have to live with one resolution being slightly skewed, I just want to know which size I should use as a base so I can balance the game around that size.

In Unity, as you move your game from device to device, the World vertical size seen by the camera is always the same. The horizontal size changes with the aspect ratio. So you as a game designer need to figure out what to do when the ratio changes. Your example uses a wider screen. Are you okay then with a narrow screen where the sides get chopped off? If the only criteria is that the original game fill the screen, then you can scale the camera if the aspect is wider than your original aspect ratio. This answer tells you one way to make that calcualtion:

http://answers.unity3d.com/questions/671486/orthographic-camera-same-width-different-height.html

An alternate solution is to stretch or shrink your world to fit the device. That means all things seen by the camera are “deformed” to fit the device. If that is an acceptable solution, then you can get a solution here:

http://answers.unity3d.com/questions/635701/screen-resolution-scaling-no-solution.html?sort=oldest

I think the basic size is not matter. You just need to automaticaly get current device screen resolution and set dimensions of viewplane when initialize the camera.

Another way is not using the orthographic camera. If your game is fully 2D, you can just place the camera 90° to “ground” on required distance.

Right now I have objects that are place very specifically to the original resolution.

If it is interface elements, place it in the camera space according to screen size (set position in 0.Nx and 0.Ny of screen size instead of NNx and NNy pixels). The only thing you need to correct in this way - scale down the objects if they are too big to small screen resolution and vice versa.