EZButtons – Animated & Stylized UI Buttons for Roblox
EZButtons is a lightweight plugin that enhances your Roblox UI buttons with smooth hover and click animations, clean shadows, and optional pastel rainbow effects and more! All with super easy interaction with the plugin.
It uses clean design, making it easy to apply consistent animations to multiple buttons across your game interface.
Latest Version: 2.0
- EZButtons is now a plugin! It’s free to install
- Customize your buttons without coding
Version: 1.1
- Added
ImageButton - Added a new effect: Gradient
- Tip: Use the combo of Gradient + Rainbow to get a beautiful effect !

Features
- Easy-to-use Plugin
- Smooth hover and click animation using
TweenService - Automatically generated shadow with rounded corners
- Optional effects to use on your buttons!
Module Usage (deprecated)
EZButtons.new(button: TextButton)
- Creates a new animated button instance.
- Sets up hover, click, and shadow effects.
- Requires the button to have a
UICorner, size, and position.
EZButtons:StartRainbow(speed: number)
- Starts a background color animation with a soft pastel rainbow loop.
- Uses HSV with reduced saturation.
EZButtons:StopRainbow()
- Stops the rainbow effect.
- Safe to call even if it hasn’t been started.
EZButtons:StartGradient(color: Color3, speed: number)
- Starts a background color animation with a soft pastel rainbow loop.
- Uses HSV with reduced saturation.
EZButtons:StopGradient()
- Stops the gradient effect.
- Safe to call even if it hasn’t been started.
Examples
Here is the code of the example:
local EZButton = require(path.to.EZButtons)
local player = game.Players.LocalPlayer
local folder = script.Parent
-- Precreated buttons (in studio)
local textBTN = EZButton.new(folder.TextButton)
local imageBTN = EZButton.new(folder.ImageButton)
local gradientBTN = EZButton.new(folder.Gradient)
-- Created buttons (in script)
local CreatedBTN = Instance.new("TextButton")
CreatedBTN.Parent = player.PlayerGui.ScreenGui
CreatedBTN.Size = UDim2.new(0, 100, 0, 50)
CreatedBTN.Position = UDim2.new(0.5, 0, 0.35, 0)
local Corner = Instance.new("UICorner")
Corner.Parent = CreatedBTN
local NewBTN = EZButton.new(CreatedBTN)
NewBTN:StartRainbow(1.5)
gradientBTN:StartGradient(Color3.new(0.4, 0.7, 0.5), 1)
gradientBTN:StartRainbow(1)
- Tutorial Video
Watch EZButtons Plugin tutorial | Streamable
Integration
-
Plugin: EZButtons V2 - Creator Store
-
Module: EZButtons V1.1 - Animate UI Buttons Easily ! - Creator Store
Just insert the module into ReplicatedStorage or any shared location, require it, and create instances with your buttons.
Note: The ScreenGui ZIndexBehavior must be Global
License
MIT – Free for all use. Credits appreciated but not required.
Feedback
I’d love to hear your thoughts about this module.
If you come across any bugs or issues, or have suggestions for improvement, don’t hesitate to let me know.
I’m happy to answer any questions you might have, just reach out!

