About
Shime is a module that allows you to create a shimmer effect on any GuiObject easily. Shime is easy to use and extremely customizable. Shime achieves this by using a gradient that is animated to create the shimmer effect, which is then applied to the GuiObject. It will automatically detect the GuiObject’s size and position to apply the proper gradient to it and will clip to the guiobject’s size, including UI Corners.
What is Shime and Shimmer?
Shime is a module that allows you to easily create a shimmer effect on any GuiObject. Shime is used to create a Shimmer class that can be used to create a shimmer effect on any GuiObject.
Shimmer may also be used to describe the Roblox’s CoreGui Shimmer module.
Why should I use Shime?
Shime is lightweight and opened-sourced, so you can easily modify it to your liking. It also has familar methods such as Shimmer:Play()
and Shimmer:Pause()
to control the playback state of the Shimmer, based off the TweenBase class.
Shimmer from Roblox is locked to only CoreGui meaning that normal script can’t access it. Shime allows you to create a Shimmer on any GuiObject from any script without needing Roblox Script Security privileges.
How do I use Shime?
Installation
Note
Visit the Getting Started page more information on installation. Below is a quick summary of the installation methods.
Shime is easy to install. They are many ways to install Shime. The links below will take you to the installation method you want to use.
Install Method | Asset Link |
---|---|
Install from Roblox | Shimmer - Creator Marketplace |
Install from GitHub | Shime - GitHub |
Usage
Note
Visit the Usage page more information on usage, including additional code samples.
Shime is easy to use. The API is simple and easy to understand. Below is a simple code sample of how to create a shimmer effect on a GuiObject using Shime.
-- Require the Shime module
local Shime = require(game.ReplicatedStorage.Shime)
-- Create a new Shimmer and play it
local shimmer = Shime.new(script.Parent)
shimmer:Play()
Shime has many methods and properties that allow you to customize the shimmer effect to your liking. Below is a summary of all the methods, properties, and constructors for Shime.
Constructors
new(parent: GuiObject ) |
---|
Returns a table containing Shimmer ’s metatable. Shimmers using default parameters. |
new(parent: GuiObject , time: number ?, style: EasingStyle ?, direction: EasingDirection ?, repeatCount: number ?, reverses: boolean ?, delayTime: number ?) |
---|
Returns a table containing Shimmer ’s metatable. Shimmers using specified parameters. |
Properties
Property | Details |
---|---|
PlaybackState: Enum.PlaybackState
|
This read-only property will return Enum.PlaybackState . |
Methods
GetFrame(): Frame
|
---|
The GetFrame function returns the Frame that is used to create the shimmer effect. This frame can be customized after the shimmer is created. |
GetGradient(): UIGradient
|
---|
The GetGradient function returns the UIGradient that is used to create the shimmer effect. This gradient can be customized after the shimmer is created. |
Stop(): void
|
---|
The Stop function halts Shimmer . If Shimmer:Play() is called again the Shimmer will resume interpolating towards their destination but take the full length of the time to do so. |
Pause(): void
|
---|
The Pause function halts Shimmer . If you call Shimmer:Play() again, the shimmer resumes playback from the moment it was paused. |
Play(): void
|
---|
The Play function starts Shimmer . Note that if a shimmer has already begun calling Play will have no effect unless the shimmer has finished or has been stopped (either by Shimmer:Stop() or Shimmer:Pause() . |
Demo
Note
Shimmer Demo has Content Sharing enabled. You can download the demo from the Roblox website by clicking the ellipsis (
...
)and selectingDownload
.
We provide an open-source demo of Shime, you can view the demo on Roblox. Feel free to use the demo as a reference for how to use Shime and modify it to your liking.
Wiki
Shime has an official wiki. The wiki contains information on everything from installation to usage. The wiki is a great resource for learning how to use Shime.
Support
If you have any questions or concerns, please feel free to contact me. You can contact me from either replying to this topic on the DevForum or creating an issue on GitHub.
This post was adapted from Shime’s GitHub.