> For the complete documentation index, see [llms.txt](https://docs.overdare.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.overdare.com/manual/studio-manual/gui.md).

# GUI

## Overview <a href="#overview" id="overview"></a>

GUI refers to graphical elements within the game that allow interaction with players. Using GUI, you can add various elements such as buttons, text, images, and progress bars to the game screen.

## GUI Types <a href="#gui-types" id="gui-types"></a>

<table><thead><tr><th width="234">Object</th><th>Description</th></tr></thead><tbody><tr><td>ScreenGui</td><td>An object used to display 2D-based elements on the screen. 2D objects such as Frame, TextButton, ImageButton, etc., must be children of Gui objects such as ScreenGui/SurfaceGui objects to be rendered. ScreenGui itself does not display any information.</td></tr><tr><td>SurfaceGui</td><td>An object used to display 2D UI in a 3D space. Attaches GUI elements to in-game surfaces or objects for interactive purposes.</td></tr><tr><td>BillboardGui</td><td>BillboardGui is an object that displays 2D UI in 3D space, always facing the camera. Because it constantly rotates to align with the player's view, it's commonly used for elements like name tags, health bars, and dialogue boxes.</td></tr><tr><td>Frame</td><td>A 2D object used for designing layouts or grouping elements such as TextLabel, TextButton, ImageLabel, ImageButton.</td></tr><tr><td>ScrollingFrame</td><td>A 2D-based object that provides a scrollable layout. It enables all contained objects to be displayed on screen through scrolling functionality.</td></tr><tr><td>TextLabel</td><td>An object that displays text.</td></tr><tr><td>ImageLabel</td><td>An object that displays images.</td></tr><tr><td>TextButton</td><td>A button that displays text.</td></tr><tr><td>ImageButton</td><td>A button that displays images.</td></tr><tr><td>TextBox</td><td>An object that lets players type text.</td></tr><tr><td>UIAspectRatioConstraint</td><td>Provides the functionality to set the aspect ratio of 2D-based objects. If you want to set the aspect ratio for objects like Frame, ImageLabel, ImageButton, or TextButton, you can add a UIAspectRatioConstraint as a child and adjust the ratio. The ratio will be maintained based on the current size of the parent object.</td></tr><tr><td>UIListLayout</td><td>An object that arranges child objects within a parent object in a list format, evenly spaced.</td></tr><tr><td>UIGridLayout</td><td>An object that arranges child objects within a parent in a grid format, using consistent sizes and spacing.</td></tr><tr><td>UIStroke</td><td>An object that displays a stroke along the border of its parent UI object or around its text. You can configure properties such as the stroke color, thickness, transparency, position, and corner join style to emphasize UI elements or improve their visibility.</td></tr><tr><td>ProgressBar</td><td>An object that visually displays the current progress or value. It can be used to create horizontal, vertical, circular, and semicircular gauges, with the fill ratio set through the <code>Value</code> property.</td></tr></tbody></table>

## ScreenGui Properties <a href="#screengui-properties" id="screengui-properties"></a>

<table><thead><tr><th width="234">Property</th><th>Description</th></tr></thead><tbody><tr><td>Enabled</td><td>Determines whether all child objects of the ScreenGui are displayed on the screen.</td></tr><tr><td>DisplayOrder</td><td>Determines which ScreenGui will be displayed on top of the screen. Higher value indicates higher priority, making the ScreenGui appear above others.</td></tr><tr><td>ScreenInsets</td><td><p>Sets the screen safe area used as the reference when placing descendant UI elements.</p><ul><li>None: Uses the entire screen without applying a safe area</li><li>DeviceSafeInsets: Excludes the device's display-restricted areas, such as a notch</li><li>CoreUISafeInsets: Excludes the device's display-restricted areas and the system UI area</li><li>TopbarSafeInsets: Takes the top bar area into account</li></ul></td></tr><tr><td>IgnoreGuiInset</td><td>Sets whether to ignore the system UI area and place elements based on the entire screen. It is linked with ScreenInsets.</td></tr><tr><td>ClipToDeviceSafeArea</td><td>Sets whether to clip descendant UI elements that extend outside the safe area.</td></tr><tr><td>SafeAreaCompatibility</td><td><p>Sets whether to extend the background of fullscreen UI placed inside the safe area to the edges of the screen.</p><ul><li>None: Does not extend</li><li>FullscreenExtension: When ScreenInsets is not None, extends a background the size of the entire screen to the edges of the screen</li></ul></td></tr><tr><td>ResetOnSpawn</td><td>Sets whether to recreate the ScreenGui in its initial state when the player's character respawns.</td></tr><tr><td>TabKeyboardNavigation</td><td>Sets whether the buttons in the ScreenGui can receive keyboard focus.</td></tr></tbody></table>

## SurfaceGui Properties <a href="#surfacegui-properties" id="surfacegui-properties"></a>

<table><thead><tr><th width="234">Property</th><th>Description</th></tr></thead><tbody><tr><td>Enabled</td><td>Determines whether all child objects of the SurfaceGui are displayed on the screen.</td></tr><tr><td>Always on Top</td><td>Ensures that the SurfaceGui is always rendered on top of other 3D objects.</td></tr><tr><td>Light Influence</td><td>Controls how much the SurfaceGui is affected by lighting.</td></tr><tr><td>Max Distance</td><td>Sets the maximum distance at which the SurfaceGui remains visible to the player.</td></tr><tr><td>Active</td><td>Determines whether UI elements within the SurfaceGui, such as buttons and text boxes, can process clicks, touches, or keyboard input.</td></tr><tr><td>Adornee</td><td>Specifies the object on which the SurfaceGui is rendered.</td></tr><tr><td>Face</td><td>Determines which face of the part the GUI is displayed on.</td></tr><tr><td>Pixels Per Unit</td><td>Sets the number of UI pixels to use per 1 unit (cm) of the attached face. The larger the value, the smaller a UI element of the same pixel size is displayed on the face.</td></tr></tbody></table>

## BillboardGui Properties

<table><thead><tr><th width="234">Property</th><th>Description</th></tr></thead><tbody><tr><td>Enabled</td><td>Controls whether all objects parented to a BillboardGui are visible on the screen.</td></tr><tr><td>Always on Top</td><td>Sets the BillboardGui to always render on top of other 3D objects.</td></tr><tr><td>Light Influence</td><td>Specifies how much the BillboardGui is affected by lighting.</td></tr><tr><td>Brightness</td><td>Sets the brightness applied to the BillboardGui. Higher values make it appear brighter, which is useful for visual emphasis without interaction with 3D lighting. (This can be set only when Light Influence is less than 1.)</td></tr><tr><td>Max Distance</td><td>Sets the maximum distance at which the BillboardGui remains visible to the player.</td></tr><tr><td>Distance Lower Limit</td><td>Sets the distance at which the BillboardGui stops scaling up when it gets too close to the player's camera.</td></tr><tr><td>Distance Upper Limit</td><td>Sets the distance at which the BillboardGui stops scaling down when it gets too far from the player's camera.</td></tr><tr><td>Active</td><td>Determines whether UI elements within the BillboardGui, such as buttons and text boxes, can process clicks, touches, or keyboard input.</td></tr><tr><td>Adornee</td><td>Specifies the object on which the BillboardGui is rendered.</td></tr><tr><td>Clips Descendants</td><td>Specifies whether child UI elements are clipped when they extend beyond the boundaries of the parent GUI. If true, any elements outside the boundaries will not be visible.</td></tr><tr><td>Size</td><td>Sets the size of BillboardGui.</td></tr><tr><td>Position Offset</td><td>Sets the offset from rendering object based on camera.</td></tr><tr><td>Position Offset World Space</td><td>Sets the offset from rendering object based on target object.</td></tr><tr><td>Extents Offset World Space</td><td>Sets the offset from the rendered object in world coordinates. (The value's unit is based on half the size of the model)<br>Adjusts the position of the BillboardGui based on the target's size (Extents). This is useful for naturally placing UI elements such as health bars above characters, as the position automatically adapts to different model sizes.<br>The offset is applied along the target's axes (the parent Part or Adornee) by multiplying the input value (Vector3) with half of the bounding box length (Extents) on each axis.</td></tr><tr><td>Size Offset</td><td>Sets the offset from rendering object based on screen plane.</td></tr><tr><td>Offset</td><td>Sets the offset from the object being rendered, based on the camera. If specified together with Position Offset, the values are added together.</td></tr><tr><td>Offset World Space</td><td>Sets the offset from the object being rendered, based on the world coordinate axes. The direction does not change even when the target object rotates.</td></tr><tr><td>Extents Offset</td><td>Adjusts the position of the BillboardGui based on the camera, where half the length of each axis of the target's bounding box is 1.</td></tr><tr><td>Distance Step</td><td>Sets the interval at which the current distance to the camera (CurrentDistance) is updated. If 0, it is updated whenever the distance changes.</td></tr></tbody></table>

## Gui Element Properties <a href="#gui-element-properties" id="gui-element-properties"></a>

### Common Properties <a href="#common-properties" id="common-properties"></a>

<table><thead><tr><th width="234">Property</th><th>Description</th></tr></thead><tbody><tr><td>Position</td><td><p>Defines the position of the object on the screen.</p><p>It uses the UDim2 format, where you can input ScaleX, OffsetX, ScaleY, and OffsetY in order.</p><ul><li>Scale: A ratio between 0.0 and 1.0, where 0.1 represents 10%.</li><li>Offset: Set in pixels, where 10 represents 10 pixels.</li></ul><p>The Scale and Offset values are combined to determine the on-screen position. For example, if ScaleX is 0.25 and OffsetX is 10, the object will move 25% to the right from the Anchor Point (the center point of the Frame) and an additional 10 pixels to the right.</p></td></tr><tr><td>Rotation</td><td>Adjusts the rotation angle of the object, where 360.0 represents 360 degrees.</td></tr><tr><td>Size</td><td>Defines the size of the object. Uses the UDim2 format similar to Position.</td></tr><tr><td>Visible</td><td>Determines whether the object is visible or hidden.</td></tr><tr><td>Anchor Point</td><td>Defines the object's anchor point. It uses a Vector2 format, and the default (0.0, 0.0) sets the top-left corner as the anchor point.</td></tr><tr><td>ZIndex</td><td>Determines the stacking order of UI elements. If FrameA is obscured by FrameB, you can use the ZIndex value to ensure FrameA appears above FrameB.</td></tr><tr><td>Clips Descendants</td><td>Clips Descendants: This property determines whether to display the clipped area on the screen if a child UI element clips its parent's UI area.</td></tr><tr><td>Automatic Size</td><td><p>Sets the axis along which the size is automatically increased to fit the size of the text or child UI elements. The Size value is kept as the minimum size.</p><ul><li>None: No automatic adjustment</li><li>X: Automatic adjustment of the width</li><li>Y: Automatic adjustment of the height</li><li>XY: Automatic adjustment of both the width and the height</li></ul></td></tr><tr><td>Border Size Pixel</td><td>Defines the thickness of the border in pixels. The former name, Border Pixel Size, also works as the same property.</td></tr><tr><td>Border Mode</td><td>A property that determines how the border is displayed relative to the UI element's edge. You can set it to Inset (inside), Middle (center), or Outline (outside).</td></tr><tr><td>Border Color 3</td><td>Sets the color of the border.</td></tr></tbody></table>

### Frame <a href="#frame" id="frame"></a>

<table><thead><tr><th width="234">Property</th><th>Description</th></tr></thead><tbody><tr><td>Background Color 3</td><td>Sets the background color of the frame.</td></tr><tr><td>Background Trnasparency</td><td>Adjusts the background transparency of the frame.</td></tr></tbody></table>

### TextLabel <a href="#textlabel" id="textlabel"></a>

<table><thead><tr><th width="234">Property</th><th>Description</th></tr></thead><tbody><tr><td>Text</td><td>Allows you to input the text to be displayed.</td></tr><tr><td>Text Scaled</td><td>Automatically adjusts the text size to fit the object's size, ignoring the Text Size value.</td></tr><tr><td>Font Face</td><td><p>Specifies the font applied to the displayed text. Clicking the field displays the list of available fonts, and Style and Weight are provided as sub-fields.</p><ul><li>Style : Specifies whether the text is displayed in bold or italic</li><li>Weight : Specifies the thickness of the text</li></ul></td></tr><tr><td>Text Size</td><td>Defines the size of the displayed text in pixels.</td></tr><tr><td>Text Color 3</td><td>Sets the color of the displayed text.</td></tr><tr><td>Text Transparency</td><td>Adjusts the transparency of the displayed text.</td></tr><tr><td>Background Color 3</td><td>Sets the background color.</td></tr><tr><td>Background Transparency</td><td>Adjusts the background transparency.</td></tr><tr><td>Rich Text</td><td>Sets whether to interpret formatting tags included in Text and apply formatting such as boldness or color to parts of the text.</td></tr><tr><td>Line Height</td><td>Sets the line spacing scale of multi-line text.</td></tr><tr><td>Max Visible Graphemes</td><td>Sets how many characters of the text to display from the beginning. If -1, the entire text is displayed.</td></tr><tr><td>Text Truncate</td><td><p>Sets how to shorten the text when it exceeds the area.</p><ul><li>None: Does not shorten</li><li>AtEnd: Cuts off by word and displays an ellipsis (...)</li><li>SplitWord: Cuts off even in the middle of a word and displays an ellipsis (...)</li></ul></td></tr><tr><td>Text Direction</td><td><p>Sets the reading direction of the text.</p><ul><li>Auto: Determined automatically</li><li>LeftToRight: Left to right</li><li>RightToLeft: Right to left</li></ul></td></tr><tr><td>Text Stroke Color 3</td><td>Sets the color of the text stroke.</td></tr><tr><td>Text Stroke Transparency</td><td>Sets the transparency of the text stroke. If 1, the stroke is not visible.</td></tr></tbody></table>

### ImageLabel <a href="#imagelabel" id="imagelabel"></a>

<table><thead><tr><th width="234">Property</th><th>Description</th></tr></thead><tbody><tr><td>Image</td><td>Sets the AssetId of the image to be displayed. You can use the AssetId of an image registered in the Asset Manager or Asset Store.</td></tr><tr><td>Image Transparency</td><td>Adjusts the transparency of the image.</td></tr><tr><td>Scale Type</td><td><p>Specifies how the image is scaled when the size of the UI element differs from the original image.</p><ul><li>Stretch : Stretches the image to fit the element.</li><li>Slice : Divides the image into nine regions for scaling.</li><li>Tile : Repeats the image in tiles of the TileSize size.</li><li>Fit : Fits the entire image inside the element while keeping its original aspect ratio.</li><li>Crop : Fills the element while keeping its original aspect ratio, and cuts off the parts outside.</li></ul></td></tr><tr><td>Slice Center</td><td>Specifies the boundaries of the nine regions when ScaleType is Slice. The value is a pixel coordinate based on the top-left corner of the image, entered as four fields X0, Y0, X1, and Y1.</td></tr><tr><td>Slice Scale</td><td>Specifies the scale factor applied to the edges when ScaleType is Slice.</td></tr><tr><td>Background Color 3</td><td>Sets the background color.</td></tr><tr><td>Background Transparency</td><td>Adjusts the background transparency.</td></tr><tr><td>Image Rect Offset</td><td>Sets, in pixels, the top-left starting position of the area to display from the original image.</td></tr><tr><td>Image Rect Size</td><td>Sets, in pixels, the size of the area to display from the original image.</td></tr><tr><td>Resample Mode</td><td><p>Sets the interpolation method used when the image is displayed at a size different from the original.</p><ul><li>Default: Smoothly interpolates</li><li>Pixelated: Keeps pixel boundaries as they are</li></ul></td></tr><tr><td>Tile Size</td><td>Sets the size of a single tile to be displayed repeatedly when Scale Type is Tile.</td></tr></tbody></table>

### TextButton <a href="#textbutton" id="textbutton"></a>

<table><thead><tr><th width="234">Property</th><th>Description</th></tr></thead><tbody><tr><td>Text</td><td>Allows you to input the text to be displayed.</td></tr><tr><td>Text Scaled</td><td>Automatically adjusts the text size to fit the object's size, ignoring the Text Size value.</td></tr><tr><td>Font Face</td><td><p>Specifies the font applied to the displayed text. Clicking the field displays the list of available fonts, and Style and Weight are provided as sub-fields.</p><ul><li>Style : Specifies whether the text is displayed in bold or italic</li><li>Weight : Specifies the thickness of the text</li></ul></td></tr><tr><td>Text Size</td><td>Defines the size of the displayed text in pixels.</td></tr><tr><td>Text Color 3</td><td>Sets the color of the displayed text.</td></tr><tr><td>Text Transparency</td><td>Adjusts the transparency of the displayed text.</td></tr><tr><td>Background Color 3</td><td>Sets the background color.</td></tr><tr><td>Background Transparency</td><td>Adjusts the background transparency.</td></tr><tr><td>Rich Text</td><td>Sets whether to interpret formatting tags included in Text and apply formatting such as boldness or color to parts of the text.</td></tr><tr><td>Line Height</td><td>Sets the line spacing scale of multi-line text.</td></tr><tr><td>Max Visible Graphemes</td><td>Sets how many characters of the text to display from the beginning. If -1, the entire text is displayed.</td></tr><tr><td>Text Truncate</td><td><p>Sets how to shorten the text when it exceeds the area.</p><ul><li>None: Does not shorten</li><li>AtEnd: Cuts off by word and displays an ellipsis (...)</li><li>SplitWord: Cuts off even in the middle of a word and displays an ellipsis (...)</li></ul></td></tr><tr><td>Text Direction</td><td><p>Sets the reading direction of the text.</p><ul><li>Auto: Determined automatically</li><li>LeftToRight: Left to right</li><li>RightToLeft: Right to left</li></ul></td></tr><tr><td>Text Stroke Color 3</td><td>Sets the color of the text stroke.</td></tr><tr><td>Text Stroke Transparency</td><td>Sets the transparency of the text stroke. If 1, the stroke is not visible.</td></tr><tr><td>Auto Button Color</td><td>Sets whether to automatically change the background color when the mouse hovers over or presses the button, to indicate the input state.</td></tr><tr><td>Style</td><td>Sets the basic shape to apply to the button. Custom uses the background properties as they are.</td></tr><tr><td>Modal</td><td>Sets whether to display the mouse cursor.</td></tr><tr><td>Selected</td><td>Sets the selection (keyboard focus) state of the button.</td></tr></tbody></table>

### ImageButton <a href="#imagebutton" id="imagebutton"></a>

<table><thead><tr><th width="234">Property</th><th>Description</th></tr></thead><tbody><tr><td>Image</td><td>Sets the AssetId of the image to be displayed. You can use the AssetId of an image registered in the Asset Manager or Asset Store.</td></tr><tr><td>Image Transparency</td><td>Adjusts the transparency of the image.</td></tr><tr><td>Scale Type</td><td><p>Specifies how the image is scaled when the size of the UI element differs from the original image.</p><ul><li>Stretch : Stretches the image to fit the element.</li><li>Slice : Divides the image into nine regions for scaling.</li><li>Tile : Repeats the image in tiles of the TileSize size.</li><li>Fit : Fits the entire image inside the element while keeping its original aspect ratio.</li><li>Crop : Fills the element while keeping its original aspect ratio, and cuts off the parts outside.</li></ul></td></tr><tr><td>Slice Center</td><td>Specifies the boundaries of the nine regions when ScaleType is Slice. The value is a pixel coordinate based on the top-left corner of the image, entered as four fields X0, Y0, X1, and Y1.</td></tr><tr><td>Slice Scale</td><td>Specifies the scale factor applied to the edges when ScaleType is Slice.</td></tr><tr><td>Background Color 3</td><td>Sets the background color.</td></tr><tr><td>Background Transparency</td><td>Adjusts the background transparency.</td></tr><tr><td>Image Rect Offset</td><td>Sets, in pixels, the top-left starting position of the area to display from the original image.</td></tr><tr><td>Image Rect Size</td><td>Sets, in pixels, the size of the area to display from the original image.</td></tr><tr><td>Resample Mode</td><td><p>Sets the interpolation method used when the image is displayed at a size different from the original.</p><ul><li>Default: Smoothly interpolates</li><li>Pixelated: Keeps pixel boundaries as they are</li></ul></td></tr><tr><td>Tile Size</td><td>Sets the size of a single tile to be displayed repeatedly when Scale Type is Tile.</td></tr><tr><td>Pressed Image</td><td>Sets the AssetId of the image to display while the button is being pressed.</td></tr><tr><td>Auto Button Color</td><td>Sets whether to automatically change the background color when the mouse hovers over or presses the button, to indicate the input state.</td></tr><tr><td>Style</td><td>Sets the basic shape to apply to the button. Custom uses the background properties as they are.</td></tr><tr><td>Modal</td><td>Sets whether to display the mouse cursor.</td></tr><tr><td>Selected</td><td>Sets the selection (keyboard focus) state of the button.</td></tr></tbody></table>

### TextBox

<table><thead><tr><th width="234">Property</th><th>Description</th></tr></thead><tbody><tr><td>Text</td><td>Sets the text displayed in the TextBox. The text entered by the player is also stored in this value.</td></tr><tr><td>Placeholder Text</td><td>Sets the guide text displayed instead when Text is empty.</td></tr><tr><td>Placeholder Color 3</td><td>Sets the color of the guide text.</td></tr><tr><td>Clear Text On Focus</td><td>Sets whether the existing text is cleared when the TextBox is clicked to start input.</td></tr><tr><td>Multi Line</td><td>Sets whether line breaks can be entered with the Enter key.</td></tr><tr><td>Text Editable</td><td>Sets whether the player can enter or delete text.</td></tr><tr><td>Text Scaled</td><td>Sets whether the text size is automatically adjusted to fit the object's Size instead of the Text Size value.</td></tr><tr><td>Font Face</td><td><p>Specifies the font applied to the text and guide text. Clicking the field displays the list of available fonts, and Style and Weight are provided as sub-fields.</p><ul><li>Style: Specifies whether the text is displayed in bold or italic</li><li>Weight: Specifies the thickness of the text</li></ul></td></tr><tr><td>Text Size</td><td>Sets the size of the text in pixels.</td></tr><tr><td>Text Color 3</td><td>Sets the color of the entered text.</td></tr><tr><td>Text Transparency</td><td>Sets the transparency of the text and guide text.</td></tr><tr><td>Background Color 3</td><td>Sets the background color.</td></tr><tr><td>Background Transparency</td><td>Sets the background transparency.</td></tr><tr><td>Line Height</td><td>Sets the line spacing scale of multi-line text.</td></tr></tbody></table>

### UIAspectRatioConstraint <a href="#uiaspectratioconstraint" id="uiaspectratioconstraint"></a>

When the size of an ImageLabel is set to { 0.5, 0, 0.5, 0 }, or 50% of the client device’s size on both the X and Y axes, adding a UIAspectRatioConstraint as a child and setting its Aspect Ratio property to 1.0 ensures the ImageLabel maintains a 1:1 ratio. This prevents the image from stretching horizontally or vertically.

<table><thead><tr><th width="234">Property</th><th>Description</th></tr></thead><tbody><tr><td>Aspect Ratio</td><td>Sets the desired ratio of the parent object. The default value is 1.0, where the X and Y axes maintain a 1:1 ratio.</td></tr><tr><td>Aspect Type</td><td><p>Determines how the UI element maintains its aspect ratio.</p><ul><li>FitWithinMaxSize : The UI element maintains its ratio while shrinking within the maximum size</li><li>ScaleWithParentSize : The UI element adjusts its ratio based on the parent's size</li><li>SizeRelativeXY : Maintains relative size in both the X and Y directions</li></ul></td></tr><tr><td>Dominant Axis</td><td><p>Determines which axis to prioritize when maintaining the ratio as the UI size changes.</p><ul><li>Width : Adjusts the height based on the width.</li><li>Height : Adjusts the width based on the height.</li></ul></td></tr></tbody></table>

### ScrollingFrame

<table><thead><tr><th width="234">Property</th><th>Description</th></tr></thead><tbody><tr><td>AutomaticCanvasSize</td><td><p>Determines whether to automatically adjust the CanvasSize based on the size of child objects.</p><ul><li>None: No automatic adjustment</li><li>X: Automatic adjustment in the horizontal direction</li><li>Y: Automatic adjustment in the vertical direction</li><li>XY: Automatic adjustment in both horizontal and vertical directions</li></ul></td></tr><tr><td>CanvasSize</td><td>This property sets the size of the scrollable inner area.</td></tr><tr><td>CanvasPosition</td><td>This property allows manual setting or checking of the scroll position.</td></tr><tr><td>ScrollBarImageColor3</td><td>This property sets the image color of the scrollbar.</td></tr><tr><td>ScrollBarImageTransparency</td><td>This property sets the image transparency of the scrollbar.</td></tr><tr><td>ScrollBarThickness</td><td>This property sets the width of the scrollbar in pixels.</td></tr><tr><td>ScrollingDirection</td><td><p>This property sets the scroll direction.</p><ul><li>X: Horizontal scroll</li><li>Y: Vertical scroll</li><li>XY: Both horizontal and vertical scroll</li></ul></td></tr><tr><td>ScrollingEnabled</td><td>This property enables or disables the scrolling function.</td></tr><tr><td>ScrollRate</td><td>Sets the scale of the scroll amount.</td></tr><tr><td>SmoothScroll</td><td>Sets whether to keep scrolling smoothly with inertia even after the scroll input is released.</td></tr><tr><td>ElasticBehavior</td><td><p>Sets the condition for using the elastic effect, in which the content goes past the scroll boundary and springs back.</p><ul><li>WhenScrollable: Used only when there is scrollable content</li><li>Always: Always used</li><li>Never: Not used</li></ul></td></tr><tr><td>VerticalScrollBarPosition</td><td><p>Sets the display position of the vertical scroll bar.</p><ul><li>Left: Left side</li><li>Right: Right side</li></ul></td></tr><tr><td>HorizontalScrollBarInset / VerticalScrollBarInset</td><td><p>Sets the condition for applying the scroll bar thickness as an inset of the content area.</p><ul><li>None: Not applied</li><li>ScrollBar: Applied only when the scroll bar is displayed</li><li>Always: Always applied</li></ul></td></tr><tr><td>TopImage / MidImage / BottomImage</td><td>Sets the AssetId of the images to display at the top end, middle, and bottom end of the scroll bar.</td></tr></tbody></table>

### UIListLayout

<table><thead><tr><th width="234">Property</th><th>Description</th></tr></thead><tbody><tr><td>Padding</td><td>Specifies the spacing between UI elements.</td></tr><tr><td>Wraps</td><td>This property determines whether to automatically wrap to the next line.</td></tr><tr><td>FillDirection</td><td><p>Specifies the direction in which UI elements are arranged.</p><ul><li>Horizontal: Arranged horizontally</li><li>Vertical: Arranged vertically</li></ul></td></tr><tr><td>SortOrder</td><td><p>Specifies the way UI elements are sorted.</p><ul><li>LayoutOrder: Sorts by LayoutOrder value for each instance</li><li>Name: Sorts by name</li></ul></td></tr><tr><td>HorizontalAlignment</td><td><p>Specifies the horizontal alignment.</p><ul><li>Left: Align left</li><li>Center: Center</li><li>Right: Align right</li></ul></td></tr><tr><td>VerticalAlignment</td><td><p>Specifies the vertical alignment.</p><ul><li>Top: Top align</li><li>Center: Center</li><li>Bottom: Bottom align</li></ul></td></tr><tr><td>HorizontalFlex / VerticalFlex</td><td><p>Specifies how the horizontal or vertical space remaining after child UI elements are placed is distributed.</p><ul><li>None: Not distributed</li><li>Fill: Increases the size of child elements to fill the space</li><li>SpaceBetween: Places the elements at both ends against the edges and divides the spacing between them equally</li><li>SpaceAround: Places space of the same size on both sides of each element</li><li>SpaceEvenly: Divides the spacing at both ends and between elements all equally</li></ul></td></tr><tr><td>ItemLineAlignment</td><td><p>Specifies how child UI elements within a line are aligned along the axis perpendicular to the arrangement direction.</p><ul><li>Automatic: Determined automatically based on the Flex settings and alignment properties</li><li>Start: Aligns to the start</li><li>Center: Aligns to the center</li><li>End: Aligns to the end</li><li>Stretch: Stretches to fit the size of the line</li></ul></td></tr></tbody></table>

### UIGridLayout

<table><thead><tr><th width="234">Property</th><th>Description</th></tr></thead><tbody><tr><td>CellPadding</td><td>Specifies the spacing between cells.</td></tr><tr><td>CellSize</td><td>Specifies the size of a cell.</td></tr><tr><td>FillDirectionMaxCells</td><td>Specifies the maximum number of cells to be filled in the specified direction.</td></tr><tr><td>FillDirection</td><td><p>Specifies the direction in which UI elements are arranged.</p><ul><li>Horizontal: Arranged horizontally</li><li>Vertical: Arranged vertically</li></ul></td></tr><tr><td>SortOrder</td><td><p>Specifies the way UI elements are sorted.</p><ul><li>LayoutOrder: Sorts by LayoutOrder value for each instance</li><li>Name: Sorts by name</li></ul></td></tr><tr><td>HorizontalAlignment</td><td><p>Specifies the horizontal alignment.</p><ul><li>Left: Align left</li><li>Center: Center</li><li>Right: Align right</li></ul></td></tr><tr><td>VerticalAlignment</td><td><p>Specifies the vertical alignment.</p><ul><li>Top: Top align</li><li>Center: Center</li><li>Bottom: Bottom align</li></ul></td></tr><tr><td>StartCorner</td><td><p>Specifies the corner where the first cell is placed.</p><ul><li>TopLeft: Top left</li><li>TopRight: Top right</li><li>BottomLeft: Bottom left</li><li>BottomRight: Bottom right</li></ul></td></tr></tbody></table>

### UIStroke

<table><thead><tr><th width="234">Property</th><th>Description</th></tr></thead><tbody><tr><td>ApplyStrokeMode</td><td><p>Determines how the stroke is applied.</p><ul><li>Border: Displays the stroke along the border of the parent UI object.</li><li>Contextual: Displays the stroke according to the type of the parent UI object.</li></ul></td></tr><tr><td>BorderOffset</td><td>Determines the horizontal and vertical offset of the stroke from the border of the parent UI object.</td></tr><tr><td>BorderStrokePosition</td><td><p>Determines where the stroke is displayed relative to the border of the parent UI object.</p><ul><li>Inner: Displays the stroke inside the border.</li><li>Center: Displays the stroke centered on the border.</li><li>Outer: Displays the stroke outside the border.</li></ul></td></tr><tr><td>Color</td><td>Determines the color of the stroke.</td></tr><tr><td>LineJoinMode</td><td><p>Determines how stroke segments are joined at corners.</p><ul><li>Round: Joins corners with a rounded shape.</li><li>Bevel: Joins corners with a beveled shape.</li><li>Miter: Joins corners with a pointed shape.</li></ul></td></tr><tr><td>StrokeSizingMode</td><td><p>Determines how the stroke thickness is calculated when the size of the UI object changes.</p><ul><li>FixedSize: Maintains a constant thickness regardless of the UI object’s size.</li><li>ScaledSize: Adjusts the thickness in proportion to the UI object’s size.</li></ul></td></tr><tr><td>Thickness</td><td>Determines the thickness of the stroke. A higher value displays a thicker stroke.</td></tr><tr><td>Transparency</td><td>Determines the transparency of the stroke. A value closer to <code>0</code> makes the stroke more opaque, while a value closer to <code>1</code> makes it more transparent.</td></tr><tr><td>ZIndex</td><td>Determines the display priority of the stroke when it overlaps other UI objects. A higher value displays the stroke in front of objects with lower values.</td></tr></tbody></table>

## 9-Slice Editor

{% columns %}
{% column width="50%" %}

<figure><img src="https://2064130887-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhrvYlLq1mQAq0V0vwPsb%2Fuploads%2FpTfWCMEUE9dCo0Q6pEFV%2Fovdr_stretch.png?alt=media&amp;token=92579378-f8fb-4052-8450-bfc5afa75e0c" alt=""><figcaption><p>Stretch applied</p></figcaption></figure>
{% endcolumn %}

{% column width="50%" %}

<figure><img src="https://2064130887-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhrvYlLq1mQAq0V0vwPsb%2Fuploads%2FOfEeiLtTLnmR7Ucv08rq%2Fovdr_slice.png?alt=media&amp;token=bf346014-12f1-457e-8ea6-59dbaf27276c" alt=""><figcaption><p>9-Slice applied</p></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

9-Slice is a feature that divides a single image into nine regions so that the corners and edges are not stretched even when the size of the UI element changes. It can be used with Image Label and Image Button, and is applied identically not only to ScreenGui but also to GUIs in 3D space such as BillboardGui and SurfaceGui.

### How to Use

<figure><img src="https://2064130887-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhrvYlLq1mQAq0V0vwPsb%2Fuploads%2FLJJC4ZM02hO7CnAfkQC6%2F9slice_editor_btn.png?alt=media&amp;token=7478123f-df75-4902-a280-36826fb176dd" alt=""><figcaption><p>Click the … button to open the 9-Slice Editor.</p></figcaption></figure>

<figure><img src="https://2064130887-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhrvYlLq1mQAq0V0vwPsb%2Fuploads%2FLvldUyTSeeOBzS5NzoLM%2F9slice_editor_modal.png?alt=media&amp;token=10630d25-043e-45c4-8000-142964311dfa" alt=""><figcaption><p>9-Slice Editor</p></figcaption></figure>

1. Add an Image Label or Image Button and enter the Asset Id of the image to display in the Image property.
2. Set Scale Type to Slice. When set to Slice, the Slice Center and Slice Scale properties are displayed.
3. Specify the boundaries of the nine regions with Slice Center. You can enter the value directly in the Properties window, or specify it in the 9-Slice editor by clicking the ··· button in the Slice Center field.
4. Adjust the scale factor of the edges with Slice Scale as needed.

## ProgressBar

<table><thead><tr><th width="234">Property</th><th>Description</th></tr></thead><tbody><tr><td>Value</td><td>Sets the ratio of the filled area. Values range from <code>0</code> to <code>1</code>, where <code>0</code> represents an empty state and <code>1</code> represents a fully filled state.</td></tr><tr><td>FillDirection</td><td>Sets the direction in which the filled area expands according to the <code>Value</code>. Supports horizontal, vertical, center-expanding, circular, and semicircular gauges.</td></tr><tr><td>StartAngle</td><td>Sets the starting angle of the filled area for circular or semicircular ProgressBars. The value ranges from <code>0</code> to <code>360</code> degrees.</td></tr><tr><td>ArcSize</td><td>Sets the arc range of a circular or semicircular ProgressBar. A value of <code>360</code> represents a circle, while a value of <code>180</code> or less can be used to represent a semicircle.</td></tr><tr><td>TrackImage</td><td>Sets the AssetId of the image displayed in the background area of the ProgressBar.</td></tr><tr><td>TrackTransparency</td><td>Sets the transparency of the background area. Values closer to <code>0</code> appear more opaque, while values closer to <code>1</code> appear more transparent.</td></tr><tr><td>TrackColor3</td><td>Sets the color of the background area.</td></tr><tr><td>TrackCornerRadius</td><td>Sets the corner radius of the background area. This property can be used with linear fill modes; higher values produce more rounded corners.</td></tr><tr><td>FillImage</td><td>Sets the AssetId of the image displayed in the filled area of the ProgressBar.</td></tr><tr><td>FillTransparency</td><td>Sets the transparency of the filled area. Values closer to <code>0</code> appear more opaque, while values closer to <code>1</code> appear more transparent.</td></tr><tr><td>FillColor3</td><td>Sets the color of the filled area.</td></tr><tr><td>FillCornerRadius</td><td>Sets the corner radius of the filled area. This property can be used with linear fill modes; higher values produce more rounded corners on the filled area.</td></tr><tr><td>CornerClipEnabled</td><td>Sets the fill behavior of a linear ProgressBar with rounded corners. When set to <code>true</code>, the filled area is simply clipped. When set to <code>false</code>, the corner radius is preserved while the area is filled.</td></tr></tbody></table>
