Building Unity App for Multiple Devices / Resolutions

How do you prepare a game, specifically the “final build” for launch on multiple devices and varying resolutions?

Idea 1: Do I create, for example, a Unity project designed and optimized for iPad, then say, duplicate the Unity project under a different name (like Game_iPhone) and resize as needed for the iPhone screen? Thus having separate projects to launch as one game to the stores?

Idea 2: Is there a way to set this up in one Unity project? I see how you can change the screen resolutions to show the borders and limits…but do I just create separate Scenes dedicated to particular screens, resizing assets within those accordingly, and launch using the one file?

Probably a common knowledge question I should know by now…but if you have a tutorial on this, I’d love a link! :slight_smile: The article I read on “Designing UI For Multiple Resolutions” from Unity still left me confused a bit for scenes that are not just standard UI elements that I can auto justify with code. I have items for game-play that need specific placement in relation to neighboring objects etc. I can make it look right on iPad AND iPhone…but only in separate Scenes/Projects. I don’t know how to make that all live in one build. Well…without duplicating Scenes and radically inflating the app size!

Any help is much appreciated!
Thanks!

Hey @grinline,

Generally a project for multiple platforms is contained in a single project for maintainability’s sake.
The way to do this depends on the project. I’ve made some games where a little planning ahead made sure I could just use the same scenes for everything for example.

If you’re targeting PC and mobile, you’ll probably need to add on-screen or swipe/multi-touch controls.
As for your UI problem, most of it can be fixed by using the Canvas Scaler and some smart placement of controls.

I hope this helps!

Cheers!
Eric

1 Like

Hey Eric!
Man, thanks a ton for the response! I know I need to keep building on my knowledge of this and I really do cherish every idea and method folks are using. Will keep at it!

Oh, and just for reference sake on my project…basically I have a game my son and I designed for iOS, specifically the iPad 1024x768 setting in Unity. Then when you switch to the iPhone 5 Tall orientation (which seems to be the thinnest vertical screen size) we lose all the left and right characters. So…my idea was you just create a scene where the characters are moved in closer, left and right respectively! It looks great in the simulator window, but now we have doubled our animations, art, etc as some of it does need to be scaled down a bit to look correct for the scene. And all that was just from iPad to iPhone! I’m dreading what would have to be done to launch for Android Mobile devices!

That’s my basic dilemma! Am I loading up my project with device-specific Scenes (which I guess I have to assign somehow in code for the device to know?) or…am I creating separate projects to build and launch even with Apple? So I have an iPad build…an iPhone build etc.

Again thanks for the response and sorry for the tedious confusion here :slight_smile:
Eli

Hey Eli,

Glad I can help!

Generally you choose between a portrait or landscape orientation for your game, trying to do both is uncommon and quite hard to pull off.
I’ve made a few games for Android, and that comes down to testing on both the biggest and smallest resolutions and letting the UI anchor to the corners of the screen.

You can use separate scenes if you want, but a modular approach would probably be better. You could load the sprites in from the Resources folder so they don’t all get loaded in RAM even though you’re not using them for example. That way you can use just one scene that changes depending on the resolution (and orientation?) of the device.

If you have any more questions, feel free to ask!

Cheers!

1 Like