Kevaday
Kevaday

Reputation: 23

How to set portrait aspect ratio for Windows build in Unity

I'm trying to build a unity project for standalone and the game is in portrait configuration. Everything works fine when I test it in the editor, but when I build it, everything UI related is messed up and by that I mean it tries to fit to the screen's aspect ratio causing many buttons and UI elements to be off-screen despite even manually trying to change the screen size by doing Screen.SetResolution(1080, 1920, false); and stopping the game from entering full-screen mode in the build settings so that it would become a portrait aspect ratio but nothing is working. The game itself is working fine which is not a part of UI or any canvas obviously. Any help would be much appreciated!

Upvotes: 0

Views: 5649

Answers (1)

NSJacob1
NSJacob1

Reputation: 537

UI scaling is tricky particularly is you have different aspect ratios, and also if you have different resolutions (although they are different). The most important things from my experience are making sure you've anchored things as reasonably as you can, used layout groups for dynamic content (dropdowns, instantiated elements, etc.) and used the CanvasScaler component on your canvas.

The Canvas Scaler component can be found on your canvas object in the scene, and is the first place to start when dealing with variable screen sizes. "Scale To Screen Size" option highlighted on the Canvas Scaler component in the Unity inspector tab.. This mode is the best for variable screen sizes, you can set this up to be your preferred screen size and then make your UI fit that size, then automatically scale based on your ideal size.

It's hard to say what is the best way to anchor your UI elements generally speaking, but if you don't want them centred on the middle of the screen it likely isn't the default. I often find anchoring the sides of an area, or corners, is best.

Finally, depending on your platform and handled screen orientations, you can also set device orientation preferences in Player Preferences. enter image description here. Exactly what you set may depend on your project, but can be an important step in making sure your UI scales correctly for you targets.

Upvotes: 1

Related Questions