Hi Creators,
Upgraded UI Gradients are now available in Studio Beta! ![]()
We’ve heard your request for more flexibility when styling interface elements without relying on custom-textured image assets. Today, we’re bringing three highly requested enhancements straight to the UIGradient instance: Radial and Conical gradient types, Tile Modes (Repeat and Mirror), and Gradient Scale controls!
Additionally, these upgraded gradient capabilities fully support Path2D instances, opening up brand-new possibilities for dynamic graphics and custom UI flourishes.
Keep reading to learn more!
How to Enable the Beta
You can test these new gradient features in Studio today by enabling the beta flag:
- Open Roblox Studio and navigate to File > Beta Features.
- Locate and check the box for Upgraded UIGradients.
- Click Save and restart Studio when prompted.
During this Studio beta period, you can’t publish live games with new UIGradient capabilities. Once we release these features to the client, they will be available to use in-game.
New Gradient Capabilities
We have expanded the UIGradient instance with three new properties.
- UIGradient.Type: Determines how color transitions across your UI object. The options are:
- Linear (Default): The existing, classic linear gradient.
- Radial: Color radiates outward from the Offset point, and the default radius scales to the size of the GuiObject. You can use this to create spotlights, vignettes, and glowing buttons.
- Conical: Color sweeps clockwise (0° to 360°) around the center. Rotation alters the starting angle. You can use this to create radial progress indicators, color wheels, and sunburst effects.
- UIGradient.TileMode: Controls how color fills the space outside the primary gradient boundary. The options are:
- Clamp (Default): Extends the edge color keypoints across the remaining space. This is the behavior today.
- Repeat: Repeatedly loops the gradient pattern across the surface.
- Mirror: Alternates and flips the gradient pattern seamlessly across the surface.
- UIGradient.Scale: A scalar value that adjusts the overall extent of the gradient.
- For Linear gradient types, it adjusts the distance between keypoint edges.
- For Radial, it scales the outer color radius.
- For Conical, it scales the angular sweep extent.
These additions are 100% backward compatible – any existing UIGradients you have in your games will continue to render exactly as expected.
Building Your Own Gradients
Adding upgraded gradients to your UI objects is simple! Check out our sample placefile to follow along and see more complex examples: GradientTestPlace.rbxl (80.1 KB)
Using Explorer & Properties
- Under StarterGui, add a ScreenGui and a Frame.
- Insert a UIGradient instance directly underneath your Frame.
- In the Properties panel for your UIGradient. For this example, let’s explore a radial gradient.
- Create a color sequence of your liking – click the three dots next to ColorSequence to open the gradient editor.
- Set Type to Radial.
- Customize TileMode, Scale, and Rotation if desired – here, they’re left as default.
- Check out your new radial gradient!
UI Styling Example
You can also add gradients directly inside your StyleSheets. If you’re new to our Styling system, check out our documentation here, or watch our tutorial on Youtube!
You can also combine these with Styling Transitions to create cool effects! Check out an example here: GradientPlaceWithTransitions.rbxl (67.8 KB)
Release Notes
- Avoid using more than 1000 gradients at a time.
- Gradients with the same color and alpha values are internally deduplicated, regardless of other properties.
- Animating gradient scale, tile mode, type, offset, rotation is cheaper than animating color or transparency values.
- Two color gradients or gradients with evenly-spaced color and alpha stops are faster than other gradients.
- Gradients now interpolate colors in linear space instead of sRGB space for more accurate colors.
Made with Love
These new UI capabilities were made possible thanks to @jaydubs808, @uiuxartist, and @drranchdressing. While you try out these new capabilities, we’ll be hard at work building more!
As always, drop your feedback, and share screenshots of your new UI designs in the thread below! We can’t wait to see what you build ![]()








