Version: 2023.2+
The aspect ratio is the ratio between the width and height of the display. The aspect ratio is used to maintain the proportions of the display. For example, if you have a 4:3
aspect ratio, then the display is 4
pixels wide for every 3
pixels in height. If you have a 16:9
aspect ratio, then the display is 16
pixels wide for every 9
pixels in height.
This example creates a custom control that maintains a specified aspect ratio of its child elements. For demonstration purposes, the custom control adds paddings to the left and right if the display ratio is wider, pushing the “central” items to fit into the aspect ratio.
You can find the completed files that this example creates in this GitHub repository.
This guide is for developers familiar with the Unity Editor, UI Toolkit, and C# scripting. Before you start, get familiar with the following:
Create a C# class that inherits from VisualElement
with two attributes: width
and height
. The width
and height
attributes are used to calculate the aspect ratio.
AspectRatio.cs
with the following content:Add the custom control in UI Builder. Set the width
and height
attributes to the desired aspect ratio. Add a child element to the custom control. The child element is the element that you want to maintain the aspect ratio.
AspectRatio.uxml
.AspectRatio.uxml
file to open it in UI Builder.4
.3
.Yellow
.Green
.1
.Test the custom control in a scene, and see how it behaves when you change the aspect ratio.
AspectRatio.uxml
.16:9
. The custom control adds padding to the left and right.