Skip to content

A Roblox Lua module for generating customizable particle effects inside UI elements. Supports textures, flipbook animations, colors, size scaling, transparency, motion, rotation, and continuous or burst emission. Great for menus, HUDs, and interactive interfaces without 3D particles.

License

Notifications You must be signed in to change notification settings

themwsama/Particle-UI-Module

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

ParticleUI

Icon_ParticleUI

Showcase

ParticleShowcase-ezgif com-video-to-gif-converter CloseDisplay-ezgif com-video-to-gif-converter

ParticleUI is a Roblox Lua module that generates customizable particle effects directly inside UI elements. It’s designed to bring dynamic visuals to menus, HUDs, and interfaces without relying on 3D particle systems.

✨ Features

  • Textures & flipbook animations
  • Color sequences & gradients
  • Size scaling (fixed, ranged, or animated)
  • Transparency fades
  • Motion with speed, direction, and acceleration
  • Rotation and spin
  • Burst emission or continuous looping
  • Automatic cleanup after particle lifetime

📦 Installation

  1. Place the ParticleUIMod.lua module in ReplicatedStorage (or your preferred location).
  2. Require it in your local scripts:
    local ParticleUI = require(ReplicatedStorage:WaitForChild("ParticleUIMod"))

🚀 Usage

Create a new particle system:

local particle = ParticleUI.new(player, {
    Texture = "Lightning",
    LifeTime = 0.6,
    Rate = 15,
    Size = Vector2.new(0.5, 1.5),
    Color = {Color3.fromRGB(255, 100, 100), Color3.fromRGB(255, 255, 255)},
    Transparency = Vector2.new(0, 1),
    Position = UDim2.new(0.5, 0, 0.5, 0),
    Speed = 12,
    Rotation = Vector2.new(-180, 180),
    Parent = player.PlayerGui.GameUI
})

📖 Methods Guide

ParticleUI.new(player, properties)

Creates a new particle system.

Parameters:

  • player — The player instance (used to attach particles to their UI).
  • properties — A table of settings (see below for customization options).

Common properties:

  • Texture (UI object or name in ReplicatedStorage.UI) – particle image
  • LifeTime (number) – lifetime of each particle (seconds)
  • Size (number | Vector2 | NumberSequence) – size scaling
  • Transparency (number | Vector2 | NumberSequence) – fade in/out
  • Color (Color3 | {Color3, Color3} | ColorSequence) – color or gradient
  • Position (UDim2 | {UDim2, UDim2}) – starting position or area
  • Speed (number | Vector2) – particle speed
  • SpeedAngle (number | Vector2) – emission angle in degrees
  • Acceleration (Vector2) – movement acceleration
  • Rotation (number | Vector2) – initial rotation
  • RotSpeed (number | Vector2) – continuous rotation speed
  • Rate (number) – particles per second for continuous emission
  • Parent (UI object) – container for particles
  • YesFlipbook (boolean) – enable flipbook animation
  • FlipbookLayout (Vector2) – number of rows/columns in flipbook
  • FlipbookFramerate (number) – playback speed
  • FlipbookMode ("OneShot" | "Loop") – playback type
  • FlipbookStartRandom (boolean) – random start frame

:Emit(amount)

Emits a burst of particles.

Parameters:

  • amount (number, optional) – how many particles to emit (default = 5).

Example:

particle:Emit(20)

:Enabled(isOn)

Starts or stops continuous emission.

Parameters:

  • isOn (boolean) – true to start, false to stop.

Example:

particle:Enabled(true)  -- start looping
particle:Enabled(false) -- stop looping

:Destroy()

Stops the emitter and cleans up resources.

Example:

particle:Destroy()

📜 License

MIT

About

A Roblox Lua module for generating customizable particle effects inside UI elements. Supports textures, flipbook animations, colors, size scaling, transparency, motion, rotation, and continuous or burst emission. Great for menus, HUDs, and interactive interfaces without 3D particles.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published